Javascript 在jQuery中触发单击时禁用单击处理程序
我们有一个内置.NET和jQuery的网站。我们有自定义jQuery来调用正在处理的ASP.NET页面上的load方法。该ajax调用在单击处理程序中触发,例如Javascript 在jQuery中触发单击时禁用单击处理程序,javascript,jquery,Javascript,Jquery,我们有一个内置.NET和jQuery的网站。我们有自定义jQuery来调用正在处理的ASP.NET页面上的load方法。该ajax调用在单击处理程序中触发,例如 $("#Submit").click(function(){ $(a_selector).load("Process.aspx?data=" + someDataObject, null, function(){ alert("Done")}); } return false; ); 我们的问题是,当我们点击#Su
$("#Submit").click(function(){
$(a_selector).load("Process.aspx?data=" + someDataObject, null, function(){
alert("Done")});
}
return false;
);
我们的问题是,当我们点击#Submit按钮时,会触发单击,这会调用ajax来处理它。人们似乎在双击按钮,因此我们在数据库中通过双击获得了多个结果。有人知道如何防止这个问题吗?我考虑过通过JS禁用按钮,但我想知道其他想法。使用jQuery。这样,事件只触发一次。当然,您还应该禁用该按钮,以便用户知道单击它是徒劳的。此外,显示微调器、进度条或更改光标样式,以向用户指示正在发生某些事情且系统未卡住
$("#Submit").click(function(){
$(a_selector).removeClass("class").load("Process.aspx?data=" + someDataObject, null, function(){
$(this).addClass("class");
alert("Done")});
}
return false;
);
然后只需添加一些特定的类,而不使用任何样式作为选择器。不知道它是否能按你想要的方式工作,但对我来说,这似乎是最简单的解决方案……:)
禁用按钮的想法有什么不对?
$("#Submit").click(function(event){
event.stopPropagation();
if (typeof $_submitSend == "undefined")
var $_submitSend = true;
else if ($_submitSend == true)
return false;
$_submitSend = true;
$(this).attr("disabled", "disabled");
$(a_selector).load("Process.aspx?data=" + someDataObject, null, function(){
alert("Done")});
$_submitSend = false;
$(this).removeAttr("disabled");
}
);