Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.12.2016, 11:52
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

Как удалить слушатель событий?
Суть задачи описана примером http://codepen.io/anon/pen/bBZxLQ
Не могу получить доступ к одному методу из другого.
Ответить с цитированием
  #2 (permalink)  
Старый 21.12.2016, 12:39
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

spo,
Обработчик какого события вы хотите удалить?
Ответить с цитированием
  #3 (permalink)  
Старый 21.12.2016, 16:40
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

Обработчик события hover при клике на элементе
Ответить с цитированием
  #4 (permalink)  
Старый 21.12.2016, 19:04
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

spo,
Сообщение от spo
Обработчик события hover при клике на элементе
Что здесь event?
click: function(event) {
			console.log('click');
			element.removeEventListener(event, this.hover);
		},
Ответить с цитированием
  #5 (permalink)  
Старый 22.12.2016, 02:04
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

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

Последний раз редактировалось spo, 22.12.2016 в 02:07.
Ответить с цитированием
  #6 (permalink)  
Старый 22.12.2016, 02:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от spo
нужен event.type
зачем?
Ответить с цитированием
  #7 (permalink)  
Старый 22.12.2016, 02:10
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

Я думал это будет аналогично element.removeEventListener('click', this.hover); и это будет правильно
Ответить с цитированием
  #8 (permalink)  
Старый 22.12.2016, 02:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

spo,
click: function (event) {
        console.log('click');
        this.removeEventListener('mouseover', object.hover );
    }
Ответить с цитированием
  #9 (permalink)  
Старый 22.12.2016, 02:38
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

Спасибо, но как быть когда элементы и их слушатели добавляются динамически? Пример http://codepen.io/anon/pen/QGPyrY
Ответить с цитированием
  #10 (permalink)  
Старый 22.12.2016, 03:08
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как удалить коммит github Maxmaxmaximus6 Оффтопик 59 01.01.2014 19:42
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Освобождение памяти или как удалить this? Greck Общие вопросы Javascript 16 14.12.2011 11:29
как удалить все IMG содержащие src="www.site.ru/killme.jpg";" ? DjDiablo jQuery 2 26.02.2011 23:22