attachevent:解决使用attachEvent函数时 this指向被绑定的元素的问题的思路方法

使用attachEvent对同事件进行多次绑定这是解决事件定义冲突重要思路方法但是在IE中this指针并没有指向被绑定元素而是function对象在应用中这是很难受件事如果试图用局部变量传送元素闭包而引起内存泄漏那么我们应该如何解决这难题呢?
我给Function添加了原型思路方法“bindNode”在这个思路方法里根据传送过来元素进行全局性存储转换然后返回经过封装使用call思路方法来进行属主转换

<html>
<body>
<button id=btTest>test</button>
</body>
</html>
<script>
(!document.all){
HTMLElement.prototype.attachEvent=function(sType,foo){
this.addEventListener(sType.slice(2),foo,false)
}
}
Function.prototype.bindNode=function(oNode){
var foo=this,iNodeItem
//使用了全局__bindNodes通过局部变量iNodeItem进行跨传值如果直接传送oNode也将造成闭包
(window.__bindNodesnull)
__bindNodes=
__bindNodes.push(oNode)
iNodeItem=__bindNodes.length-1
_disibledevent=null
}
</script>
Tags:  指向函数的指针 attachevent参数 jsattachevent attachevent

延伸阅读

最新评论

发表评论