【问题标题】:Observing for insertion of new DOM nodes and calling a method on them观察新 DOM 节点的插入并在其上调用方法
【发布时间】:2010-06-30 02:40:02
【问题描述】:

我正在使用 jQuery 编写一些 javascript 来调用所有节点上的方法,类为 datepicker

这是我所拥有的:

$('.datepicker').my_method();

这按预期工作 - 它调用my_method

但是,我希望能够在插入到 DOM 的所有 new 节点上调用 my_methoddatepicker 类。

我想要与 .live 方法类似的功能,但不指定 eventType

我该怎么做?

【问题讨论】:

    标签: javascript jquery dom observer-pattern


    【解决方案1】:

    这就是.livequery plugin 的用途:)

    你是这样用的

    $('.datepicker').livequery(function() {
      $(this).my_method();
    });
    

    或者,您可以在加载元素时重新运行插件,例如 $.ajax(),如下所示:

    $.ajax({
      //options..
      success: function(data) {
        $("#elementId").html(data);
        $(".datepicker", data).my_method();
      }
    });
    

    此方法仅在响应中的 .datepicker 元素上运行,而不是现有元素...因此它仅在运行/完成最少量的工作。在浪费观察代码/处理等方面,这是最有效的方法......但它并不总是一种选择。

    【讨论】:

    • 不错!使用livequery,因为我没有使用 AJAX 插入。塔:)
    猜你喜欢
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    • 2021-11-21
    • 2016-03-29
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    相关资源
    最近更新 更多