代码之家  ›  专栏  ›  技术社区  ›  jay

jquery.live()和文档就绪

  •  5
  • jay  · 技术社区  · 15 年前

    我正在尝试使用.live()设置CSS样式。CSS函数:

    $(".data tr:odd").addClass("evenrows"); 
    

    是否有一种方法可以在文档就绪时自动执行此操作,但在将来的元素中仍然可以执行此操作?我在页面上有一个Ajax事件,它重新排序一个表。我需要这些新创建的行应用.addClass。

    事先谢谢。

    3 回复  |  直到 12 年前
        1
  •  5
  •   ekhaled    15 年前

    你可以用 Livequery plugin . 它将自身绑定到DOM突变事件以跟踪DOM中的更改,并重新绑定和重新执行附加到它们的代码,例如:

    $(".data tr:odd").livequery(function(){
       $(this).addClass("evenrows");
    });
    
        2
  •  1
  •   Mark    15 年前

    我们通过连接到Ajax事件委托并在那里做我们想要做的任何事情来实现这一点。请参见此处的“完成”: http://docs.jquery.com/Ajax/jQuery.ajax#options

    您可以使用Live将任何事件处理程序附加到这些新行。见: http://docs.jquery.com/Events/live#typefn

        3
  •  0
  •   Brett Weber    12 年前

    现在,我们的javascript正在设置一个全局Ajax调用函数,该函数接受所需的参数。使用带有扩展参数的模板函数来进行更改可以消除任何不必要的重复代码,并为更易于管理的代码打开可能性。

    例子:

    GlobalObject.AjaxFunction(sUrl, SData, fnOnSuccess, fnOnError, oExtension)
    {
       //Set up Ajax process
    
       // check type of extension as a function
       if (typeof oExtension === 'function')
       {
          oExtension();
       }
    }
    

    这将使您的代码在Ajax处理之后具有通用的可用性。

    希望这有助于您的需要,如果我不太明白评论让我知道!