代码之家  ›  专栏  ›  技术社区  ›  Will Peavy

有没有办法在没有用户事件的情况下激发jQuery的live()或delegate()?

  •  2
  • Will Peavy  · 技术社区  · 14 年前

    我正在尝试使用jQuery轮询动态DOM节点,这些节点是在jQuery对象之外创建的(使用GoogleMapsAPI方法)。例如,我可以通过将delegate()绑定到一个click事件来轻松实现这一点。但是,作为onload函数的一部分,我需要轮询DOM,而不需要任何额外的用户操作(用户不必单击)。有人知道实现这一目标的方法吗?

    编辑:我正在使用Maps API编写代码,在加载时添加一堆标记。我可以毫无问题地完成这项工作,但我需要循环使用jQuery和append子节点编写Maps API的HTML。delegate()和live()可以实现这一点,但我知道如何启动delegate()或live()的唯一方法是将其绑定到用户事件。我试图在每次迭代mapsapi函数时触发jQuery的委托之类的东西,而不让用户做任何事情。

    2 回复  |  直到 14 年前
        1
  •  0
  •   harpax    14 年前

    打一次电话:

    setTimeout("doGoogleMapApiCall()", 5000);
    

    .. 或多次:

    setInterval("doGoogleMapApiCall()", 5000);
    

    编辑: http://www.reynoldsftw.com/2009/04/custom-events-in-jquery-open-doors-to-complex-behaviors/

        2
  •  3
  •   leek Bharat Chodvadiya    14 年前

    查看 LiveQuery plugin

    $('table tr:even').livequery(function(){
        $(this).removeClass("odd");
        $(this).addClass("even");
    });
    

    此代码段将自动应用“偶数”类,并删除可能位于表行上的任何“奇数”类