假设我们有一个js函数,它会在按钮点击时显示弹出窗口。但是,如果按钮被匆忙点击两次,它会显示两个弹出窗口。当匆忙点击按钮两次时,有没有办法阻止警报显示两个弹出窗口?
答案 0 :(得分:0)
你可以设置一个变量来存储一个标志,说明警报已经显示了吗?
//outside the event
var flagShown = false;
// in the event
if(!flagShown){
alert();
flagShow = true;
}
我还没有测试过这段代码......
HTH
编辑:这将只显示一次。 您必须根据计时器或其他事件重置标志。
答案 1 :(得分:0)
使用存储显示正在进行的事实的var?
无法检查,因为我无法以足够快的速度触发2个陈词滥调......
var alert_under_way=0;
function doIt()
{
if (! alert_under_way)
{
alert_under_way =1;
alert("toto");
alert_under_way =0;
}
}
答案 2 :(得分:0)
您也可以在点击按钮时禁用该按钮,并在需要时再次启用该按钮。
答案 3 :(得分:0)
我使用以下代码来阻止显示两个弹出窗口:
var prevent_popup=false;
function show_popup()
{
.....
.....
if(!prevent_popup)
alert("some text");
prevent_popup=true;
setTimeout('prevent_popup=false;',1000);
.....
.....
}