>我有以下代码
$('#modal').dialog("option", "buttons", {
Save: SaveMethod,
Cancel: function() {
$(this).dialog("close");
}
});
当我非常快速地多次单击"保存"按钮时(即使我将按钮设置为disabled='disabled'
),SaveMethod
函数仍然运行多次。在第一个方法调用结束之前,如何防止按钮单击?
在
SaveMethod
范围之外的变量可以跟踪保存的时间。
如果SaveMethod
快速完成,您仍然可以多次单击该按钮。 在这种情况下,您可以在对话框关闭事件中设置saving = false
,或者saving = false
替换为setTimeout(function(){ saving = false; }, 500);
以延迟一点,然后再允许再次保存。
$('#modal').dialog("option", "buttons", {
Save: SaveMethod,
Cancel: function() {
$(this).dialog("close");
}
});
var saving = false;
function SaveMethod(){
if(saving) return;
saving = true;
//save code
saving = false;
}