Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как удалить слушатель событий? (https://javascript.ru/forum/misc/66530-kak-udalit-slushatel-sobytijj.html)

spo 21.12.2016 11:52

Как удалить слушатель событий?
 
Суть задачи описана примером http://codepen.io/anon/pen/bBZxLQ
Не могу получить доступ к одному методу из другого.

Dilettante_Pro 21.12.2016 12:39

spo,
Обработчик какого события вы хотите удалить?

spo 21.12.2016 16:40

Обработчик события hover при клике на элементе

Dilettante_Pro 21.12.2016 19:04

spo,
Цитата:

Сообщение от spo
Обработчик события hover при клике на элементе

Что здесь event?
click: function(event) {
			console.log('click');
			element.removeEventListener(event, this.hover);
		},

spo 22.12.2016 02:04

Поторопился, нужен event.type
Тем не менее дальше я не знаю как передать функцию, потому что this ссылается уже не на объект
Тут вроде как closure надо использовать, но я не могу понять как

рони 22.12.2016 02:06

Цитата:

Сообщение от spo
нужен event.type

зачем?

spo 22.12.2016 02:10

Я думал это будет аналогично element.removeEventListener('click', this.hover); и это будет правильно

рони 22.12.2016 02:10

spo,
click: function (event) {
        console.log('click');
        this.removeEventListener('mouseover', object.hover );
    }

spo 22.12.2016 02:38

Спасибо, но как быть когда элементы и их слушатели добавляются динамически? Пример http://codepen.io/anon/pen/QGPyrY

spo 22.12.2016 03:08

Разобрался, нужно передать аргумент this на элемент
hoverRemove(this, objects.o1.hover);


Часовой пояс GMT +3, время: 11:21.