Function.prototype.bindを使用せずに、イベントオブジェクトと共に複数の引数をイベントハンドラに渡すにはどうすればよいですか?イベントオブジェクトと共に複数の引数をイベントハンドラに渡す - javascript
イベントハンドラにはクロージャがあります。
基本的なコードの下にザ・私は、イベントハンドラに同時にイベントオブジェクトや他の引数を渡す方法がわからない、
element.addEventListener("click", eventHandler(eventObj + arguments), false);
function eventHandler(eventObj + arguments) {
return function(){}; //a closure
}
を動作しません。
更新日:
私はさらに、addEventListener内で匿名関数を使用しようとしました。そうすることで、コントロールがコールバック関数内のクロージャに到達したことはないようです。
element.addEventListener("click", function(e){
var data = {'event':e, 'args':arguments};
eventHandler(data);
}, false);
function eventHandler(data) {
return function(){ //this function is never executed
console.log(JSON.stringify(data));
};
}
このような何か、あなたがオブジェクトに追加データを格納したいと仮定すると素晴らしい解決策...私はカスタムイブを作るオーバーヘッドを救ったnts。ありがとう! – lauCosma