读书人

js 处理事件解决方法

发布时间: 2013-03-22 09:49:50 作者: rapoo

js 处理事件


var addEvent = function( obj, type, fn ) {
if (obj.addEventListener)
obj.addEventListener( type, fn, false );
else if (obj.attachEvent) {
obj["e"+type+fn] = fn;
obj.attachEvent( "on"+type, function() {
obj["e"+type+fn]();
} );
}
};

obj["e"+type+fn] = fn;这句是什么意思。
obj.attachEvent( "on"+type, function() {
obj["e"+type+fn]();//这里直接换成fn也可以执行,为什么要这样写
} javascript
[解决办法]
引用:
引用:帅哥,这个个人理解主要是在addEvent的时候在把一个标志绑定在obj,绑定这个标志的目的是为了在removeEvent的时候好删除绑他。
另一个原因,真如二楼所说:
JavaScript code?123456789101112131415161718192021var addEvent = function (obj, ……

attachEvent
this 指向有问题是ie实现的bug,需要特别处理,而addEventlistener指向是正确的指向,是标准的事件绑定方法,所以不用特别处理。

读书人网 >JavaScript

热点推荐