【问题标题】:Complex Selectors with jQuery Delegate使用 jQuery 委托的复杂选择器
【发布时间】:2011-02-20 11:54:31
【问题描述】:

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

这对我有用:

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

这不起作用:

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

正如您可能假设的那样,一次只有 1 个项目具有选定的类。当我单击其他选项卡时,我的委托处理程序仍未触发。

【问题讨论】:

    标签: jquery jquery-selectors jquery-1.4


    【解决方案1】:

    您的代码有效,you can see a demo here。确保您的选择器与您认为的一样匹配,这很可能是问题所在....delegate() 本身会处理这种情况。

    这通常是由于这样的事情,过度分配 selected 类:

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

    【讨论】:

    • 谢谢 - 在我真正尝试更深入地研究它之前,请确保我没有尝试做一些不受支持的事情。除了简单的选择器之外,没有任何演示涵盖任何内容。我从没见过 jsFiddle,但这是一个非常棒的工具
    • +1 的答案....如果我可以给另一个链接到 jsFiddle,我会...不错的工具!
    • 我的问题最终是因为我将它与 ui 选项卡一起使用。这首先触发,所以我的标签总是在我的事件触发时被选中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多