【发布时间】:2010-11-16 13:59:38
【问题描述】:
假设我使用 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);
}
}
}
或者我是否需要存储每个处理程序的副本并添加一个 Event.invoke(...) 函数?
编辑:另外,jQuery 不是一个选项:D
【问题讨论】:
标签: javascript javascript-events