Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.12.2011, 23:11
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Как удалить все обработчики события элемента
element.removeEventListener(type, listener, useCapture);

Для того, чтоб удалить какой-либо обработчик события, нужно иметь функцию, которая навешивалась на событие. Что делать, если все обработчики создавались, используя безымянные функции?
Ответить с цитированием
  #2 (permalink)  
Старый 27.12.2011, 23:17
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

создать элемент заново, скопировав все атрибуты и все children.

ЗЫ был такой вопрос. но я не помню, cloneNode(true) помог или нет.. но раз в голове осел гавноспособ, значит, что не помог
Ответить с цитированием
  #3 (permalink)  
Старый 27.12.2011, 23:19
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от melky
создать элемент заново, скопировав все атрибуты и все children.
Если хочется удалить конкретное событие, то такой способ не прокатит.
Ответить с цитированием
  #4 (permalink)  
Старый 27.12.2011, 23:22
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

FINoM, низзя. Только через собственные реализации.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #5 (permalink)  
Старый 27.12.2011, 23:23
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

а, да. это для всех событий.

предварительный ответ - нет. ведь для удаления одного из обработчиков вы должны знать, что удалять то будете ?
Ответить с цитированием
  #6 (permalink)  
Старый 27.12.2011, 23:26
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от melky
ведь для удаления одного из обработчиков вы должны знать, что удалять то будете ?
Понятно. Вот что значит jQuery головного мозга
Ответить с цитированием
  #7 (permalink)  
Старый 27.12.2011, 23:28
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от FINoM
Понятно. Вот что значит jQuery головного мозга
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #8 (permalink)  
Старый 27.12.2011, 23:37
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от trikadin
Только через собственные реализации.
Как грамотно будет реализовать? Вижу такое решение: к элементу добавить свойство "eventHandlers" и в нем хранить объект с массивами событий, типа так:
node.eventHandlers = {
  click: [function(){}, function(){}],
  mouseover: [function(){}, function(){}]
  ...
}

Говнокод?
Ответить с цитированием
  #9 (permalink)  
Старый 27.12.2011, 23:41
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от FINoM
Говнокод?
Нет. Да все так делают, того же Резига почитать, или в код популярных (и не очень) библиотек посмотреть.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #10 (permalink)  
Старый 27.12.2011, 23:43
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Ок, спасибо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Баги Opera пишем сюда devote Оффтопик 101 08.08.2013 05:56
Освобождение памяти или как удалить this? Greck Общие вопросы Javascript 16 14.12.2011 11:29
как удалить элемент который идет после элемента .form? FRIE jQuery 2 03.06.2011 14:35
Как менять позицию элемента? Заданую через position:absolute; left:100px; top:200px; aRpi Общие вопросы Javascript 3 24.04.2011 08:42
Как удалить все пустые элементы UL smashercosmo Events/DOM/Window 13 25.02.2009 09:03