【问题标题】:Not adding event in jquery不在jQuery中添加事件
【发布时间】:2011-07-13 07:03:37
【问题描述】:

如果我使用过滤器“不”,则不要在输入上调整事件。 在任务中,我需要将事件模糊添加到除输入之外的所有元素 id 以“cont”结尾的 div。

这不行

$("input[id$=inp]").not($("div[id$=cont]").children()).live("blur",someFoo);

这个点也有用

$("input[id$=inp]").not("div[id$=cont]:children").live("blur",someFoo);

知道为什么会这样吗? 如何解决这个问题?

【问题讨论】:

    标签: javascript jquery events jquery-selectors


    【解决方案1】:

    更新: live 必须直接在结果集上调用.. 这有效:

    $("input[id$='inp']:not(div[id$='cont'] input)").live(...)
    

    DEMO


    children 调用在这里看起来不对。 试试:

    $("input[id$='inp']")
      .not("div[id$='cont'] input")
      .live("blur",someFoo);
    

    如果你不是动态添加这些元素,那么就没有必要使用.live

    $("input[id$='inp']")
      .not("div[id$='cont'] input")
      .blur(someFoo);
    

    【讨论】:

    • 一些元素动态添加。我尝试第一部分不添加
    猜你喜欢
    • 2014-07-22
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    相关资源
    最近更新 更多