Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 异步回发后jquery不工作_C#_Jquery_Asp.net_Updatepanel - Fatal编程技术网

C# 异步回发后jquery不工作

C# 异步回发后jquery不工作,c#,jquery,asp.net,updatepanel,C#,Jquery,Asp.net,Updatepanel,我正在使用updatepanel进行异步回发。异步回发后,jQuery功能不起作用。我正在使用jQuery在UpdatePanel内的html表格单元格上连接一些mousedown mouseenter效果。事件以$(document.ready)绑定 <script type="text/javascript"> $(function () { $(".csstablelisttd").mousedown(func

我正在使用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>

$(函数()
{
$(“.csstablelisttd”).mousedown(函数(e)
{
//鼠标下键代码
});
$(“.csstablelisttd”).mouseenter(函数(e)
{
//鼠标输入码
});
$(“#contentPlaceHolderMain_btnFix”)。单击(函数(e)
{alert(“alert”);//此处生成两次警报,然后发生回发
//点击代码
}
}
//表数据

asp:UpdatePanel
将内容替换为从服务器返回的结果。这意味着所有以前挂接的事件在回发后将不起作用

改用

例如:

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

$(函数(){
$(“#table”).on(“mousedown mouseenter”,“.csstablelisttd”,函数(e){
//按下鼠标并输入代码
});
$(“#contentPlaceHolderMain_btnFix”)。在(“单击”上,函数(e){
警报(“警报”);//此处警报生成两次,然后发生回发
//点击代码
});
});
注意:如果您的鼠标按下和鼠标输入代码不同,请将它们分开


对将存在于
UpdatePanel

中的每个事件挂钩执行相同的操作,您必须为工具箱提供的ajax endRequest添加事件处理程序。详细信息请参阅

加载页面时执行的附加Javascript块。

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle);

function endRequestHandle(sender, Args)
{
     alert("After ajax call");
}

如果我没有记错,异步回发不会为jQueryInEndRequestHandle(sender,Args)触发就绪事件,我使用的是document.ready函数或whatIf如果您没有在endRequestHandle中获得绑定,则创建一个进行初始化的函数,如绑定等,并从$(document)调用.ready和EndRequestHandle我已经用一个示例进行了更新。这有意义吗?请告诉我是否需要进一步扩展。
.live()
函数已被弃用数月,不应使用。如果您使用的是1.7.x+,请使用
.on()
否则请使用
.delegate()
。如果您使用的jQuery版本太旧,没有
.delegate()
,更新可能是个好主意。@AnthonyGrist好观点-我将更新示例。我担心()根据我更新的示例,可能会混淆OP,但我希望如果我只键入全部内容,它会有意义。我想补充一点,即使在使用挂钩时,它也不起作用。jquery在异步回发后不起作用