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) {
/////
});
我有服务器端按钮。第一次 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) {
/////
});