我在UpdatePanel中更新后遇到了问题。问题是在UpdatePanel中更新后jquery事件不工作/触发。第一次,jquery事件工作,但不是在UpdatePanel中更新之后。如果我删除UpdatePanel,问题就解决了。但我必须使用UpdatePanel。
你能给我一个解决方案吗?
答案 0 :(得分:2)
其中一个可能的原因是UpdatePanel
替换了附加了jquery事件的DOM中的元素,这当然会使这些事件无效。一种可能的解决方案是使用.live()
函数来注册事件,但它只适用于某些事件。
如果您无法使用live
功能,则UpdatePanel
finished替换DOM元素后,您需要重新附加这些事件:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function(sender, args) {
// TODO: reattach your jquery event handlers
});
答案 1 :(得分:0)
你需要绑定事件或你想要执行的函数,即使在页面回发之后,因为元素不记得回发后附加到它们的事件。
所以你需要在endRequst处理程序中调用它们
$(function{
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(AfterPostBack);
AfterPostBack();
});
function AfterPostback(){
// Your code goes here...
}