[英]jquery not working after async postback
我正在使用updatepanel做异步回发。 在异步回发jQuery功能无法正常工作之后。我使用jQuery在UpdatePanel内的html表格单元上连接了mousedown mouseenter效果。 这些事件绑定在$(document).ready中
<script type="text/javascript">
$(function ()
{
$(".csstablelisttd").mousedown(function (e)
{
//mouse down code
});
$(".csstablelisttd").mouseenter(function (e)
{
//mouse entercode
});
$("#contentPlaceHolderMain_btnFix").click(function (e)
{alert("Alert");//here alert is generate two times an then postback occurs
//btn click code
}
}
</script>
<asp:UpdatePanel ID="updatePanelTableAppointment" runat="server">
<ContentTemplate>
<table id="table" runat="server">
//table data
</table>
</ContentTemplate><Triggers>
<asp:AsyncPostBackTrigger ControlID="btnFix" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
asp:UpdatePanel
用服务器返回的结果替换内容。 这意味着以前的所有挂接事件在回发后将无法使用。
使用jQuery.on()
代替。
例如:
<script type="text/javascript">
$(function () {
$("#table").on("mousedown mouseenter", ".csstablelisttd", function (e) {
//mouse down AND mouse enter code
});
$("#contentPlaceHolderMain_btnFix").on("click", function (e) {
alert("Alert");//here alert is generate two times an then postback occurs
//btn click code
});
});
</script>
注意:如果您的鼠标向下和鼠标输入代码不同,请将它们分开。
对包含在UpdatePanel
每个事件挂钩执行相同的操作。
您将必须为Toolkit提供的ajax endRequest添加事件处理程序。 在这里阅读更多
在页面加载时执行的Add In Javascript块。
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle);
function endRequestHandle(sender, Args)
{
alert("After ajax call");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.