Javascript.RU

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

Передача кастомных данных в событие и удаление обработчика
У jQuery есть такие методы, как on и off.
Частный случай первого:
$(nodes).on('click', {valera: 5}, handler);

В handler мы можем получить свойство valera:
function handler (event) {
  log(event.data.valera); //5
}

Затем можем удалить обработчик handler:
$(nodes).off('click', handler);
Удаляется.

--------------

Передачу данных в событие можно организовать следующим образом (по-другому не знаю как) (данные должны быть обязательно в ивенте, как описано выше!)
function addListener(element, event, data, handler) {
  element.addEventListener(event, function(event){
      event.data = data;
      handler.apply(this, arguments);
  });
}
То есть приходится передавать обработчику совершенно другую функцию.

addListener(div, 'click', {valera: 5}, handler);

function removeListener(node, event, handler) {
   // ???
}

Как теперь удалить этот новый обработчик, передав аргументом старый?
removeListener(div, 'click', handler);

В jQuery как-то это замудренно сделано.

(вопрос вполне касается "общих вопросов")
Ответить с цитированием
  #2 (permalink)  
Старый 31.12.2011, 06:29
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

http://javascript.ru/tutorial/events...e-obrabotchika
Читали?
Там достаточно хорошо описана библиотека для добавления событий.
Допилить до передачи кастомных данных - не должно составить особого труда
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
Передача данных в IFRAME (по аналогии TinyMCE) PashaTurok Events/DOM/Window 12 01.01.2011 21:55
Передача данных из формы Eugene Общие вопросы Javascript 4 15.12.2010 11:41
передача динамических данных в функцию Ruah Общие вопросы Javascript 4 02.09.2009 22:04
передача данных между формами Yurii Общие вопросы Javascript 2 30.04.2008 20:52