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);
}