我在文檔(就緒)上的UpdatePanel內添加一個單擊事件(單擊時顯示警報)到一個html超鏈接。但是,當我點擊超鏈接時,事件永遠不會被觸發。是否因爲ASync回發?什麼是正確的方法來做到這一點?將事件附加到超鏈接點擊更新面板內?
$(document).ready(function(){
$('#addExcl').click(function(){
alert('asassasaas');return false;
});
});
我在文檔(就緒)上的UpdatePanel內添加一個單擊事件(單擊時顯示警報)到一個html超鏈接。但是,當我點擊超鏈接時,事件永遠不會被觸發。是否因爲ASync回發?什麼是正確的方法來做到這一點?將事件附加到超鏈接點擊更新面板內?
$(document).ready(function(){
$('#addExcl').click(function(){
alert('asassasaas');return false;
});
});
您需要在每個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;
});
}
嗨aristos,謝謝你的回覆。如果我使用pageLoad,該怎麼辦? – 2010-11-12 09:34:30
@popo這是MS在面板上每次更新ajax時觸發的事件。我認爲最好將它附加在EndRequest上以確保找到控件。 – Aristos 2010-11-12 09:39:02
感謝Aristos,在我的情況下,它只是一個切換超鏈接,所以沒有回傳。但感謝您的解釋,如果您沒有回發,並且您沒有看到頁面加載切換,那麼您可能還有其他的javascript錯誤,請大拇指=) – 2010-11-12 09:43:31
*嘆* *顯示一些代碼,我們無法猜測您在做什麼。 – 2010-11-12 08:40:13
你所描述的應該是可行的。我們將需要編碼。 – 2010-11-12 09:16:56
我已經添加了代碼位,當我將更新面板外部的超鏈接放置在更新面板之外時,它可以正常工作。 P.S:你可以在我的問題上將-1設置回0嗎?我已經添加了代碼._。 – 2010-11-12 09:21:47