Можно создать дубликат:
Removing an anonymous event listenerJavascript: удаление анонимного прослушивателю событий
У меня есть следующий перекрестная функция браузера, чтобы добавить слушатель событий:
_SU3.addEventListener = function(elem, eventName, fn) {
if(elem.addEventListener) {
elem.addEventListener(eventName, fn, false);
} else if (elem.attachEvent) {
elem.attachEvent('on'+eventName, fn);
}
};
Я m добавление слушателя следующим образом:
_SU3.addEventListener(_show, "click", function(event) {
_SU3.getChildren(_show, uri, element);
});
Все в порядке. Однако я хочу удалить слушателя после того, как он был вызван один раз. I.e что-то вроде:
_SU3.getChildren = function(_show, url, element) {
... blah...
_SU3.removeEventListener(_show, 'click', ANON_FUNCTION);
};
Но, конечно, функция прослушивателя анонимна, поэтому нет ссылки на функцию для ссылки.
Как удалить слушателя?
Thanks
Вы должны где-то хранить ссылку. Либо явным образом передавая ссылку на вашу функцию, либо неявно внутри вашей функции. –