Javascript 防止在两次单击按钮时显示两个弹出窗口的警报

Javascript 防止在两次单击按钮时显示两个弹出窗口的警报,javascript,Javascript,假设我们有一个js函数,它在单击按钮时显示一个弹出窗口。但是如果该按钮被快速点击两次,它会显示两个弹出窗口。有没有办法防止在两次匆忙单击按钮时,警报显示两个弹出窗口?您可以设置一个变量来存储一个标志,表示警报已显示 //outside the event var flagShown = false; // in the event if(!flagShown){ alert(); flagShow = true; } 我还没有测试过这个代码 嗯 编辑:这将使其仅显示一次。 您必须根据计时器或

假设我们有一个js函数,它在单击按钮时显示一个弹出窗口。但是如果该按钮被快速点击两次,它会显示两个弹出窗口。有没有办法防止在两次匆忙单击按钮时,警报显示两个弹出窗口?

您可以设置一个变量来存储一个标志,表示警报已显示

//outside the event
var flagShown = false;

// in the event
if(!flagShown){
alert();
flagShow = true;
}
我还没有测试过这个代码

编辑:这将使其仅显示一次。
您必须根据计时器或其他事件重置标志。

是否使用存储显示正在进行的事实的var

无法检查,因为我无法以足够快的速度触发2个clic

var alert_under_way=0;

function doIt()
{
if (! alert_under_way)
  {
  alert_under_way =1;
  alert("toto");
  alert_under_way =0;
  }
}

您还可以在单击按钮后禁用它,如果需要,再次启用它。

我使用了以下代码来防止显示两个弹出窗口:

var prevent_popup=false;

        function show_popup()
        {
            .....
            .....
            if(!prevent_popup)
            alert("some text");
            prevent_popup=true;
            setTimeout('prevent_popup=false;',1000);
            .....
            .....
        }

您的意思是,标志必须在特定的时间间隔后更改其值,否则警报mgs将只显示一次。一种方法是基于时间,设置计时器几秒钟,然后重置标志。另一种方法是在不同的事件中重置标志,即当用户做其他事情时。是的,我想到了。看看我的答案。我试图实现同样的功能,这似乎对我有效。无论如何,谢谢你,伙计!!!!