Передача нескольких аргументов вместе с объектом события в обработчик события

Как передать несколько аргументов вместе с объектом события в обработчик события без использования 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));
  };
}
5
задан Brian Tompsett - 汤莱恩 1 September 2019 в 18:49
поделиться