我有一个烟花引爆系统,它使用 JQuery 通过 AJAX 连接到 PHP 脚本来引爆烟花。唯一的问题是,如果您一个接一个地单击一个启动按钮,则有可能引发比您想要的更多的烟花。
我需要一种方法来禁用页面上的所有其他链接,直到 ajax 完成并收到响应。我努力了:
//Prevent clicks
$("body").find("a").click(function (e) { e.preventDefault(); });
//Re-enable clickable links
$("body").find("a").unbind("click");
我当前的 ajax 脚本是:
$(document).ready(function() {
$(".button").on("click",function() {
//Disable all other links
$.ajax({
type: "POST",
url: "launch.php",
data: {FID:$(this).attr('id'),Length:$('#FireLength').val()},
success: function(e) {
//Re-enable other links once ajax is complete
}
});
return false;
});
});
更好的是,如果按钮在等待响应时变灰。我在http://joshblease.co.uk/firework/有一个演示脚本