我有一个包含Ajax UpdatePanel的页面,里面有一些控件,还有一些其他控件,当我点击一个提交按钮时,UpdatePanel将被更新,JQuery事件将通过使用“重新挂钩” Sys.WebForms.PageRequestManager.getInstance();”如下面的代码:
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 :(得分:0)
您可以在设置新事件之前删除所有点击事件。
function DocReady() {
$('#txtNewPassword').unbind('click');
$('#txtNewPassword').click(function () {
alert('clicked');
});
}
这不是最干净的代码,但似乎您每次都只是在文本框中添加一个新的点击事件,这样就可以删除之前的所有事件,然后添加新事件。