2012-02-17 107 views
0

我的網站對導航的每個部分都使用ajax和hashtags,所以每個元素(除了主要導航部分)都通過ajax加載,這會斷開與這些內部元素(或其他發生的任何元素)的DOM連接,所以我不能只是有這樣的事情在我的javascirpt,它的一切工作:jQuery ajax加載元素,自動添加事件給他們?

$(".chat-wrapper li").draggable(); 

目前我已經把這個在我的Ajax調用的成功一部分,所以當聊天按鈕加載它增加了這對他們來說,這不是我唯一的問題,它發生在很多事情上,這只是我目前的例子,所以我的問題是,jQuery或任何東西都有辦法解決這個問題?必須有一些這樣做的方法,所以在初始頁面加載之後調用的任何元素也可以與這些和所有元素一起使用。

謝謝。

回答

0

如果你正在尋找一個事件綁定到一個元素,並保持它,你可以看看jQuery功能.live()

http://api.jquery.com/live/

編輯:咋一看後,它會出現.on jQuery的1.7+(http://api.jquery.com/on/)和.delegate()(HTTP://api.jquery。 com/delegate /)爲jQuery 1.4.3+將是更好的解決方案。存在於頁面鏈接爲每個函數用法的例子,但你也許可以使用這種方式(我可能是錯的,因爲我只是很快它打印了出來):

$(".chat-wrapper").delegate("li", "bind", function() { 
    this.draggable(); 
}); 

或者:

$(".chat-wrapper li").on("bind", function() { 
    this.draggable(); 
}); 
+0

以及我在()上使用其他的東西,也許這是一個愚蠢的問題,但我將如何使用/ live與.draggable()? – 2012-02-17 01:49:15

+0

@DylanCross我更新了我的答案。希望它有一點幫助。 – fayerth 2012-02-17 01:58:38

+0

謝謝,但我沒有任何運氣。 – 2012-02-17 02:03:45