簡體   English   中英

異步回發后jQuery無法正常工作

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM