[英]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.