【发布时间】:2012-07-19 18:24:56
【问题描述】:
我试图在单击按钮后立即禁用它以防止双击。以下 Javascript 完成了这项工作:
$(document).ready(function () {
$("#<%=cmTest.ClientID %>").click(function () {
$(this).attr("disabled", "disabled");
});
});
这是我的按钮:
<asp:Button ID="cmTest" Text="Test" runat="server" />
这是我的 VB:
Private Sub cmTest_Click(sender As Object, e As System.EventArgs) Handles cmTest.Click
Threading.Thread.Sleep(5000)
End Sub
只要将 jQuery .click 事件分配给按钮,客户端功能就会起作用,但服务器端事件永远不会运行。当我删除 jQuery 时,服务器端事件会执行。这几乎就像我已将 onclick=javascript:DisableButton();return false; 分配给按钮本身。有没有办法将该 Javascript 分配给按钮,同时还允许触发服务器端事件?
编辑:所以它不完全像将return false; 分配给按钮,因为页面仍然回发。执行 return false; 实际上取消了按钮的提交,这不是这里发生的事情。
【问题讨论】:
-
我会假设服务器端事件没有触发,因为按钮被禁用。如果你想限制点击一次,为什么不做类似 onClick = if ( window.myClickPerformed ) { return false; } 其他 { window.myClickPerformed = true; }
标签: jquery asp.net events webforms