2010-11-12 90 views
0

我在文檔(就緒)上的UpdatePanel內添加一個單擊事件(單擊時顯示警報)到一個html超鏈接。但是,當我點擊超鏈接時,事件永遠不會被觸發。是否因爲ASync回發?什麼是正確的方法來做到這一點?將事件附加到超鏈接點擊更新面板內?

$(document).ready(function(){ 
      $('#addExcl').click(function(){ 
       alert('asassasaas');return false; 
      });  
    }); 
+0

*嘆* *顯示一些代碼,我們無法猜測您在做什麼。 – 2010-11-12 08:40:13

+0

你所描述的應該是可行的。我們將需要編碼。 – 2010-11-12 09:16:56

+0

我已經添加了代碼位,當我將更新面板外部的超鏈接放置在更新面板之外時,它可以正常工作。 P.S:你可以在我的問題上將-1設置回0嗎?我已經添加了代碼._。 – 2010-11-12 09:21:47

回答

2

您需要在每個ajax更新中附加even,因爲dom結構發生更改,並且更新部分的事件丟失。

var prm = Sys.WebForms.PageRequestManager.getInstance();  
prm.add_initializeRequest(InitializeRequest); 
prm.add_endRequest(EndRequest); 

function InitializeRequest(sender, args) {  
} 

function EndRequest(sender, args) { 
     $('#addExcl').click(function(){ 
      alert('asassasaas'); 
      return false; 
     }); 
} 
+0

嗨aristos,謝謝你的回覆。如果我使用pageLoad,該怎麼辦? – 2010-11-12 09:34:30

+1

@popo這是MS在面板上每次更新ajax時觸發的事件。我認爲最好將它附加在EndRequest上以確保找到控件。 – Aristos 2010-11-12 09:39:02

+0

感謝Aristos,在我的情況下,它只是一個切換超鏈接,所以沒有回傳。但感謝您的解釋,如果您沒有回發,並且您沒有看到頁面加載切換,那麼您可能還有其他的javascript錯誤,請大拇指=) – 2010-11-12 09:43:31