Post 返回后我的 jQuery 代码不起作用

After Post Back my jQuery code not working

我有服务器端按钮。第一次 jquery 工作正常,但下一次 jQuery 不工作。我在更新面板中使用 jQuery。

下面是我的 Jquery 代码。

<script type="text/javascript" src="../../js/jquery-ui-1.11.4.min.js"></script> 
<script type="text/javascript">            
(function ($) {
    $('.mv-spinner').spinner(), $('.mv-action').button(),
    $('.table-mv-vouchers').tooltip(), $('.table-mv-vouchers select').selectmenu() 
})(jQuery)
</script> 

另外,我在页面加载功能中使用了我的代码,但无法正常工作。

 protected void Page_Load(object sender, EventArgs e)
 {      
        Page.ClientScript.RegisterStartupScript(typeof(UpdatePanel), "scrg", "<script type='text/javascript' src='../../js/jquery-ui-1.11.4.min.js'></script>");
        Page.ClientScript.RegisterStartupScript(typeof(UpdatePanel), "scr", "<script type='text/javascript'>  (function ($) { $('.mv-spinner').spinner(), $('.mv-action').button(), $('.table-mv-vouchers').tooltip(), $('.table-mv-vouchers select').selectmenu() })(jQuery) </script>");
 }

我将如何解决这个问题? jQuery 回发后不执行。提前致谢!

您的初始化将 运行 仅在文档​​就绪时(而不是在回发时)进行。由于您将控件放在 UpdatePanel 中,因此回发后任何内容都会更新。

试试下面的建议

您需要重新创建 Jquery 回传代码,如下所示

<script type="text/javascript"> 
    $(document).ready(function() {
        //jquery code
    });

    var parameter = Sys.WebForms.PageRequestManager.getInstance();

    parameter.add_endRequest(function() {
        //jquery code again for working after postback
    });
</script>

这是我遇到同样问题后得到的解决方案,对我来说效果很好..check

更新:

如果上面的代码给出类似 Sys undefined 的错误,请尝试下面的代码。

<script type="text/javascript"> 

$(document).ready(function () {

    //jquery code

    var parameter = Sys.WebForms.PageRequestManager.getInstance();

    parameter.add_endRequest(function () {
        //jquery code again for working after postback
    });
});

</script>

更改自:

$('.ClassName').click(function(e) {
/////
});

至:

$(document).on("click", ".ClassName", function (e) {
/////
});