2010-07-10 71 views
0

UpdatePanel中的更新後出現問題。問題是在UpdatePanel中更新之後,jquery事件沒有工作/觸發。在第一次,jQuery的事件工作,但沒有UpdatePanel更新後。如果我刪除了UpdatePanel,問題就解決了。但我必須使用UpdatePanel。在UpdatePanel中更新後重新加載jquery事件問題

你能給我一個解決方案嗎?

回答

2

其中一個可能的原因是,UpdatePanel替換了DOM中具有附加jQuery事件的元素,這些元素當然會使這些事件無效。一種可能的解決方案是使用.live()函數來註冊事件,但它僅適用於某些事件。

如果您無法使用live功能,您將需要重新連接這些事件一旦UpdatePanelfinished更換DOM元素:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function(sender, args) { 
    // TODO: reattach your jquery event handlers 
}); 
+0

使用.live(),我們可以在正常的jquery下使用嗎?或者我們是否應該下載任何插件/ JavaScript文件? – 2010-07-10 09:58:59

+0

'.live()'函數是jquery的一部分(請參閱我的文章中的鏈接),以便您可以直接使用它。 – 2010-07-10 10:11:34

+0

好的......讓我試試....應該在每次UpdatePanle執行時或頁面加載時使用.live()嗎? – 2010-07-10 10:51:29

0

您需要綁定的事件或要執行的功能即使是頁面回發作爲不記得重視他們回發後發生的事件的元素..

因此,你需要給他們打電話endRequst處理後

$(function{ 

    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(AfterPostBack); 

    AfterPostBack(); 

}); 

function AfterPostback(){ 

    // Your code goes here... 
} 
相關問題