繁体   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