我正在尝试扩展该Node.addEventListener
方法,以便可以进行一些事件管理,例如:
Node.prototype.on = function (type, listener, useCapture) {
'use strict';
var i, evt;
this.events = this.events || [];
for (i = 0; i < this.events.length; i += 1) {
evt = this.events[i];
if (this === evt[0] && type === evt[1]) {
this.removeEventListener(type, evt[2], evt[3]);
this.events.splice(i, 1);
}
}
this.events.push([this, type, listener, useCapture]);
return this.addEventListener(type, listener, useCapture);
};
但在这种情况下,on
我不想命名它,而是将它命名为相同的名称,addEventListener
这样我可以保证任何 javascript 都可以在它上面工作。
所以这里的重点是,如果我addEventListener
在 return 子句上将函数命名为 on ,它将导致无限循环。所以我在想是否有什么方法可以让它调用该super
方法?
提前致谢