将jQuery事件处理程序应用于AJAX内容

时间:2010-07-06 15:45:07

标签: jquery css ajax handler

我确信这是AJAX大师很早就学到的东西,但这是我第一次碰到它。使用jQuery,我已经为某些CSS类分配了.click()处理程序。但是,如果我通过AJAX重新加载某些内容,则.click()处理程序不会针对该内容触发。

似乎我有两个选择:

  1. 在JScript函数中放置我的.click()处理程序赋值,并在每次通过AJAX刷新内容时调用它。
  2. 在我的AJAX内容中使用onclick =“”而不是jQuery。
  3. 到目前为止,#1似乎是最好的;它更加一致,并为AJAX产生更小的HTML。

    还有其他办法吗?也许是从一开始就分配.click()处理程序的另一种方式?

3 个答案:

答案 0 :(得分:4)

您正在寻找live()方法。

$('selector').live('click', function(){
  // your code.......
});

live适用于现在或将来出现的元素。

答案 1 :(得分:3)

如果您使用的是jQuery 1.4+,则.live()是核心的一部分。如果没有,则会有一个名为livequery的插件,它提供您正在寻找的功能。

答案 2 :(得分:1)

查看绑定或实时方法,请查看:http://api.jquery.com/live/