我想创建一个传递事件和一些参数的 eventHandler
。问题是函数没有得到元素。这里有一个例子:
doClick = function(func){
var elem = .. // the element where it is all about
elem.onclick = function(e){
func(e, elem);
}
}
doClick(function(e, element){
// do stuff with element and the event
});
elem
必须在匿名函数之外定义。如何在匿名函数中使用传递的元素?有办法吗?
那 addEventListener
呢?我似乎不能通过事件通过 addEventListener
在所有我?
更新
我似乎解决了“这个”的问题
doClick = function(func){
var that = this;
this.element.onclick = function(e){
func(e, that);
}
}
其中包含我可以在函数中访问的 this.element
。
AddEventListener
但我想知道 addEventListener
:
function doClick(elem, func){
element.addEventListener('click', func(event, elem), false);
}