点击某个图标,我向DOM添加一条加载消息。问题是,如果用户点击两次(在加载最终消息时,他会看到此消息两次......)。
如何防止每个屏幕出现第二次“加载...”?我一次也不想要多于一个。
$(document).on('page:change', function () {
//show loading message
$("#icon1, #icon2, #icon3").click(function(e) {
e.preventDefault();
$("Loading ...")
.insertAfter( $( "#icon1" ) );
});
});
注意:有些用户建议使用.one:我认为它不起作用,因为这意味着我只能点击一次然后才会发生。这不是我想要做的。我希望当用户看到“loading ..”时,他看不到另一个“加载......”但他仍然可以点击onc,e看到“loading ...”,然后当“loading ...”消失后他可以点击并再次看到它。
答案 0 :(得分:2)
您可以使用布尔变量,并检查它是真还是假
$(document).on('page:change', function () {
//show loading message
var isLoading = false;
$("#icon1, #icon2, #icon3").click(function(e) {
if(isLoading == true) return;
isLoading = true;
e.preventDefault();
$("Loading ...")
.insertAfter( $( "#icon1" ) );
//After finishing loading
isLoading = false;
});
});