Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.07.2014, 16:08
Аватар для L0k1
Интересующийся
Отправить личное сообщение для L0k1 Посмотреть профиль Найти все сообщения от L0k1
 
Регистрация: 05.11.2013
Сообщений: 12

Снять обработчик события
Приветствую камрады!
Возник вопрос следующего характера: на группу элементов навешен обработчик - как снять обработчик с конкретного элемента?

например:
<div>
 <a>1</a>
 <a id='test'></a>
</div>

$('div').on('click','a', function(){
  // some code
})


Как в данном случае снять обработчик конкретно с #test

http://codepen.io/L0k1/pen/gzlrq
Ответить с цитированием
  #2 (permalink)  
Старый 20.07.2014, 16:21
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

$('div').on('click','a:not("#off")', function(){
  alert('binded event');
  return false;
})
Ответить с цитированием
  #3 (permalink)  
Старый 20.07.2014, 16:42
Аватар для L0k1
Интересующийся
Отправить личное сообщение для L0k1 Посмотреть профиль Найти все сообщения от L0k1
 
Регистрация: 05.11.2013
Сообщений: 12

Эмм.. это решение немного с другого конца.
Вопрос не в том, как повесить обработчик на элементы за исключением какого-то, а как раз в снятии.

Есть плагин, который вешает эти обработчики, и мне не хотелось бы в плагин вносить айдишник, костыльно как-то.

Я просто не нагуглил ответ на этот вопрос, думал может комьюнити в курсе.

Без костылей никак?
Ответить с цитированием
  #4 (permalink)  
Старый 20.07.2014, 16:52
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

<body>
  <div>
    <a>1</a>
    <a id='test'>test</a>
  </div>
  <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
  <script>
    $("div").on("click", "a", function () {
      alert("Yes");
    });
    $("#test").on("click", function () {
      return false;
    });
  </script>
</body>
Ответить с цитированием
  #5 (permalink)  
Старый 20.07.2014, 17:08
Аватар для L0k1
Интересующийся
Отправить личное сообщение для L0k1 Посмотреть профиль Найти все сообщения от L0k1
 
Регистрация: 05.11.2013
Сообщений: 12

Спасибо!
такой вариант вполне хорош
а я зациклился именно на снятии события: unbind, off и все у меня не хотело работать (
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли поставить обработчик события "click" на элемент option? Dimaz jQuery 5 05.05.2013 13:39
Дебаг js, или как найти обработчик события для тега jimm88 Events/DOM/Window 1 18.04.2012 15:11
Как снять обработчик с очередью FanAizu jQuery 0 11.02.2012 19:28
Как "обмануть" обработчик события? itPiligrim Events/DOM/Window 0 13.05.2010 22:55
Обработчик события: как делает jquery? Shasoft jQuery 35 22.04.2009 09:41