我使用以下代码在DOM元素上添加事件侦听器:
var me = this;
element.addEventListener('click', function(element) {
return function(evt) {
me.handler(evt, element);
};
} (element) , false);
当我单击元素时,将使用事件和元素作为参数调用处理程序。
我已阅读有关闭包here的信息,但我仍然不清楚事件对象如何与evt变量相关联。
答案 0 :(得分:1)
为什么不使用
var me = this;
element.addEventListener('click', function(evt) {
me.handler(evt, element);
} , false);
我还不清楚事件对象如何与evt相关联 变量
如果使用addEventListener
,则在触发事件时,事件侦听器会收到一个参数,即事件。
然后,当您添加事件侦听器时,请使用以下代码
function(element) {
return function(evt) {
me.handler(evt, element);
};
} (element)
评估并返回以下函数
function(evt) {
me.handler(evt, element);
}
这是事件处理程序。然后,它的第一个参数evt
就是事件。