使用jQuery Delegate的复杂选择器

时间:2010-05-17 16:05:00

标签: jquery jquery-selectors jquery-1.4

jQuery 1.4.2中可以与委托一起使用的选择器的复杂性有限制吗?

这对我有用:

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

这不起作用:

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

您可以假设,一次只有一个项目具有所选类别。当我单击其他选项卡时,我的委托处理程序仍未被触发。

1 个答案:

答案 0 :(得分:3)

您所使用的代码you can see a demo here。确保你的选择器像你想象的那样匹配,这很可能是问题...... .delegate()本身就是处理这种情况。

通常这是因为类似的事情而发生的,过度分配selected类:

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