我正在使用updatepanel进行异步回发。在异步回发jQuery功能不起作用后,我正在使用jQuery在UpdatePanel中的html表格单元格上连接一些鼠标按下鼠标输入效果。事件绑定在$(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>发布于 2012-07-03 18:33:10
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中的每个事件钩子执行相同的操作。
发布于 2012-07-03 18:35:05
您必须为工具包提供的ajax endRequest添加事件处理程序。在上阅读更多内容
在页面加载时执行的Add In Javascript块。
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle);
function endRequestHandle(sender, Args)
{
alert("After ajax call");
}https://stackoverflow.com/questions/11309017
复制相似问题