假设我使用addEventListener或attachEvent(取决于浏览器)向对象添加事件; 是否有可能以后以编程方式调用这些事件?
使用如下对象添加/删除事件处理程序:
var Event = {
add: function(obj,type,fn) {
if (obj.attachEvent) {
obj.attachEvent('on'+type,fn);
} else {
obj.addEventListener(type,fn,false);
}
},
remove: function(obj,type,fn) {
if (obj.detachEvent) {
obj.detachEvent('on'+type,fn);
} else {
obj.removeEventListener(type,fn,false);
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者我是否需要存储每个处理程序的副本,只需添加一个Event.invoke(...)函数?
编辑:此外,jQuery不是一个选项:D