首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异步回发后jquery不工作

问异步回发后jquery不工作
EN

Stack Overflow用户
提问于 2012-07-03 18:29:32
回答 2查看 7K关注 0票数 4

我正在使用updatepanel进行异步回发。在异步回发jQuery功能不起作用后,我正在使用jQuery在UpdatePanel中的html表格单元格上连接一些鼠标按下鼠标输入效果。事件绑定在$(document).ready中

代码语言:javascript
复制
     <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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-03 18:33:10

asp:UpdatePanel用服务器返回的结果替换内容。这意味着所有之前挂起的事件在回发后都不会工作。

请改用jQuery.on()。

例如:

代码语言:javascript
复制
<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中的每个事件钩子执行相同的操作。

票数 4
EN

Stack Overflow用户

发布于 2012-07-03 18:35:05

您必须为工具包提供的ajax endRequest添加事件处理程序。在上阅读更多内容

在页面加载时执行的Add In Javascript块。

代码语言:javascript
复制
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle);

function endRequestHandle(sender, Args)
{
     alert("After ajax call");
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11309017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档