e.g:
function myclass (htmlelement) {
this.element = htmlelement;
}
myclass.prototype.hoverfunc = function() {
alert (this.element.id);
}
myclass.prototype.doListen = function() {
this.element.addEventListener ('mouseover', function() {this.hoverfunc();}.bind(this),false);
}
elListen = new myclass (document.getElementById('foo'));
elListen.doListen();
如何创建一个从元素中删除侦听器的方法?
答案 0 :(得分:3)
为什么要保留匿名功能?
myclass.prototype.doListen = function() {
this.listener = function() {this.hoverfunc();}.bind(this);
this.element.addEventListener ('mouseover', this.listener, false);
}
myclass.prototype.stopListen = function() {
this.element.removeEventListener('mouseover', this.listener);
}
另外,请注意addEventListener()/removeEventListener()
,因为它们是基于DOM Level 2标准的 - 这是IE不能做的。