Обработчик события должен быть зарегистрирован с именованной функцией.
Если вам действительно нужно, вы можете попробовать что-то вроде этого:
var eventListener = (function()
function eventCallback() { ... /* whatever that needs to be done for an event */ ... }
return {
activate: function() {
addEventListener(/* add the type of event */, eventCallback);
console.log("event listener added."); //if you want this here
},
deactivate: function() {
removeEventListener(eventCallback); //removes the event
console.log("event listener removed."); //if you want this here
},
}
)();
Тогда вы сможетевключить слушателя с помощью eventListener.activate()
и отключить его с помощью eventListener.deactivate()
.Имейте в виду, что это решение работает только для одного события.
Если вы хотите сохранить несколько функций событий для хранения, то вы можете сделать массив из eventListener
.
Главноездесь присваивается имя функциям , чтобы вы могли обратиться к ним позже, чтобы удалить прослушиватель событий.