Как можно передать несколько аргументов вместе с объектом события в обработчик события, не используя Function.prototype.bind?
В обработчике событий есть замыкание.
Нижеследующий базовый код не будет работать,
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));
};
}