【问题标题】:livequery behaving strangely for dynamically added elementslivequery 对于动态添加的元素表现异常
【发布时间】:2011-02-09 16:54:01
【问题描述】:

当我使用以下内容时,我会一一看到所有 div 静态和动态,包括动态添加的 div #xyz

jQuery('div').livequery(function() { alert($(this).attr("id") + " div added") })

但是当我使用时

jQuery('#xyz').livequery(function() { alert($(this).attr("id") + " div added") })

我什么也得不到。但是 - 如果 xyz 在静态 html 中,则上述方法有效。

最终我希望能够在动态添加时以编程方式单击按钮。

感谢任何帮助。

【问题讨论】:

  • 解决方案。不要使用实时查询。它不再被维护/支持,使用它只是懒惰。
  • 在动态添加按钮时以编程方式单击按钮的解决方案是什么。

标签: javascript jquery livequery


【解决方案1】:

只需使用jQuery.live。这会将事件处理程序附加到现在和将来匹配选择器的元素。

例子

$('a.foo').live('click', function() {
    alert('Clicked!');
});

我不知道当新元素添加到 DOM 时你是否能捕捉到事件,但一般来说,无论如何你都希望对它们应用行为(当事件发生时)。

【讨论】:

  • jquery.delegate >>> jquery.live。总是。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-29
  • 2019-04-12
  • 1970-01-01
相关资源
最近更新 更多