当我在后台计算时,我正在使用此javascript
来显示加载消息的隐藏div:
<script src="Scripts/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function ShowProgress() {
setTimeout(function () {
var modal = $('<div />');
modal.addClass("modal");
$('body').append(modal);
var loading = $(".loading");
loading.show();
var top = Math.max($(window).height() / 2 - loading[0].offsetHeight / 2, 0);
var left = Math.max($(window).width() / 2 - loading[0].offsetWidth / 2, 0);
loading.css({ top: top, left: left });
}, 200);
}
$('form').live("submit", function () {
ShowProgress();
});
</script>
据我所知,如果提交被解雇,脚本总是在运行
$('form').live("submit", function () {
ShowProgress();
});
如何更改仅针对特定按钮运行的代码?
单击按钮(注释掉$('form').live("submit",...
)
protected void btn_start_Click(object sender, EventArgs e)
{
string script = "<script type=\"text/javascript\"> ShowProgress(); </script>";
ClientScript.RegisterClientScriptBlock(this.GetType(), "myscript", script);
}
加载div显示但从未停止。我有什么要改变的?感谢
更新
忘记if (!IsPostBack)
中的代码:
string script = "$(document).ready(function () { $('[id*=btnSubmit]').click(); });";
ClientScript.RegisterStartupScript(this.GetType(), "load", script, true);
答案 0 :(得分:2)
$("#buttonId").click(function(){
ShowProgress();
});
此方法将在单击特定按钮的任何时候运行(您显然需要将我的代码中的buttonId
替换为您所创建的按钮的实际ID。)
答案 1 :(得分:1)
由于文档描述了here,live
方法将适用于提交类型的所有事件。根据其他回复的建议,您只需选择一个元素并使用onclick
事件,或检查事件的目标是否是您的特定按钮。
我会选择前者,但取决于你想要的行为。