Сложные селекторы с jQuery Delegate - PullRequest
0 голосов
/ 17 мая 2010

Есть ли ограничение на сложность селекторов, которые можно использовать с делегатом в jQuery 1.4.2?

Это работает для меня:

   $('.activeTabsList').delegate('.activeTabsListItem', 'click', 
function() { 
   alert('here'); 
});

Это не работает:

    $('.activeTabsList').delegate('.activeTabsListItem:not(.selected)', 'click', 
function() { 
   alert('here'); 
});

Как вы, вероятно, можете предположить, есть только один элемент за раз, который имеет выбранный класс. Когда я нажимаю на другие вкладки, мой обработчик делегата все еще не запускается.

1 Ответ

3 голосов
/ 17 мая 2010

Код у вас работает, вы можете увидеть демо здесь . Убедитесь, что ваш селектор соответствует так, как вы думаете, это, скорее всего, проблема ... .delegate() сама обрабатывает этот случай.

Обычно это происходит в результате чего-то подобного, чрезмерного присвоения selected класса:

$(".activeTabsListItem").click(function() {
  $(".activeTabsListItem").addClass("selected"); //should have been $(this)
});
...