我想制作一个通过事件和一些参数的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传递事件吗?
更新资料
我似乎用'this'解决了问题
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);
}