2010-07-06 97 views
3

我確定這是AJAX大師很早就學到的東西,但這是我第一次碰到它。使用jQuery,我已經爲某些CSS類分配了.click()處理程序。但是,如果我通過AJAX重新加載了一些內容,則.click()處理程序不會爲該內容啓動。將jQuery事件處理程序應用於AJAX內容

看來我有兩個選擇:

  1. 把JScript函數內我的。點擊()處理程序分配,並將其命名爲每次內容是通過AJAX刷新。
  2. 在我的AJAX內容中使用onclick =「」而不是jQuery。

到目前爲止,似乎#1會是最好的;它更一致並且爲AJAX生成更小的HTML。

有沒有另一種方法呢?也許從一開始就分配.click()處理程序的方式不同?

回答

4

您正在尋找live()方法。

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

live適用於現在或未來的元素。

+0

哇,我很高興我問。我不知道那是存在的。謝謝! – Mark 2010-07-06 16:08:22

3

如果您正在使用jQuery 1.4+,.live()是核心的一部分。如果沒有,那麼會有一個名爲livequery的插件提供您正在查找的功能。