【问题标题】:how to trigger an event (custom or not) when a generated jQuery element is attached to the DOM当生成的 jQuery 元素附加到 DOM 时如何触发事件(自定义或非自定义)
【发布时间】:2012-04-25 09:12:19
【问题描述】:

当一个 jQuery 动态创建的元素被添加到 DOM 的任何部分时,就会触发一个事件。仅当脚本中的任何部分代码将元素附加到页面或任何其他页面子级时,这对于对元素执行高度计算很有用。

【问题讨论】:

    标签: jquery events dom custom-event


    【解决方案1】:

    抱歉我之前的回答,我没有足够注意你的问题。

    您真正追求的是DOM Mutation Events已被弃用,未来将被 DOM 级别 4 Mutation Observers 取代,这看起来很有希望,但并未在当前的浏览器。 Here's a great post关于这个话题的历史和未来。

    同时,如果您对插入新节点的内容没有任何实际访问权限(例如,不会触发所需事件的 3rd 派对插件),那么您最好的选择就是轮询容器以获取其children().length

    【讨论】:

      【解决方案2】:

      有一个名为 livequery 的 jQuery 插件可以提供您需要的功能。

      例如:

      $('.something').livequery(function() { 
          $(this).trigger('event');
      }); 
      

      当一个类为something的DOM元素被添加到DOM时,上面的代码就会执行

      【讨论】:

      • 插件是为 jQuery 1.3 编写的;这个功能在很长一段时间内都是 jQuery 的一部分,所以不需要插件。
      • 另外,这并没有回答 OP 的问题 - 他没有要求事件委托,而是要求 DOM 突变事件。
      猜你喜欢
      • 1970-01-01
      • 2021-08-22
      • 1970-01-01
      • 2019-02-19
      • 1970-01-01
      • 2017-11-11
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      相关资源
      最近更新 更多