Javascript 防止在两次单击按钮时显示两个弹出窗口的警报
假设我们有一个js函数,它在单击按钮时显示一个弹出窗口。但是如果该按钮被快速点击两次,它会显示两个弹出窗口。有没有办法防止在两次匆忙单击按钮时,警报显示两个弹出窗口?您可以设置一个变量来存储一个标志,表示警报已显示Javascript 防止在两次单击按钮时显示两个弹出窗口的警报,javascript,Javascript,假设我们有一个js函数,它在单击按钮时显示一个弹出窗口。但是如果该按钮被快速点击两次,它会显示两个弹出窗口。有没有办法防止在两次匆忙单击按钮时,警报显示两个弹出窗口?您可以设置一个变量来存储一个标志,表示警报已显示 //outside the event var flagShown = false; // in the event if(!flagShown){ alert(); flagShow = true; } 我还没有测试过这个代码 嗯 编辑:这将使其仅显示一次。 您必须根据计时器或
//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将只显示一次。一种方法是基于时间,设置计时器几秒钟,然后重置标志。另一种方法是在不同的事件中重置标志,即当用户做其他事情时。是的,我想到了。看看我的答案。我试图实现同样的功能,这似乎对我有效。无论如何,谢谢你,伙计!!!!