2012-09-10 43 views
0

我有一個頁面包含Ajax UpdatePanel,並且它內部有一些控件,還有一些其他的控件,當我點擊一個提交按鈕時,UpdatePanel將被更新,並且JQuery事件將會重新 - 通過使用「Sys.WebForms.PageRequestManager.getInstance();」如以下的代碼:多次吸引JQuery事件

function DocReady() { 
    $('#txtNewPassword').click(function() { 
     alert('clicked'); 
    }); 
} 

$(document).ready(function() { 
    DocReady(); 
}); 

$(document).ready(function() { 
     var prm = Sys.WebForms.PageRequestManager.getInstance(); 
     prm.add_endRequest(function() { 
     DocReady(); 
    }); 
}); 

問題是,任何部分回發後在UpdatePanel JQuery的事件外的控制重新鉤狀X次,其中X =部分回發的呼叫數。

+0

爲什麼$(document).ready重複? –

回答

0

在設置新事件之前,您可以刪除所有點擊事件。

function DocReady() { 
    $('#txtNewPassword').unbind('click'); 
    $('#txtNewPassword').click(function() { 
     alert('clicked'); 
    }); 
} 

這不是最乾淨的代碼,但好像你每次只需添加一個新的單擊事件的文本框所以這樣會刪除任何以前的事件,然後添加新的。