1

当在我的网站上单击链接时,将执行下面的 Javascript 代码,如果条件为真,它将显示一个警报对话框。当用户在警报对话框中选择 OK 按钮时,代码块将再次执行。

因此警报关闭,第二次执行下面的代码并再次显示警报对话框。当用户第二次选择警报对话框上的确定按钮时,警报对话框将永久关闭。

如何防止下面的代码被执行两次?

$("#my-button").click(function() {
    var login = someVar;
    if(!someVar || someVar == ''){
        $('.close-reveal-modal').click(); 
        alert(myMessage);
    }
});
4

4 回答 4

1

从提供的非常有限的信息来看,这就是我能想到的所有错误:

$('.close-reveal-modal').click();

这段代码应该具有某种功能,该功能被执行以显示类似的警报框。

完整的代码对于完整的答案会更有用!

于 2013-07-31T10:50:57.003 回答
1

检查您是否添加了两次单击处理程序,也许这就是导致该行为的原因。

在这种情况下,删除其中一个。

于 2013-07-31T16:41:30.330 回答
0

从我们这里得到的,我猜你的.close-reveal-modal元素在#my-button(或者是同一个 html 节点)。

当您触发对它的单击(按$('.close-reveal-modal').click();)时,它也会触发对其父节点的单击,依此类推#my-button

我可能是错的,我们需要 HTML 部分(小提琴会很棒)来验证我的理论。

于 2013-07-31T11:04:00.803 回答
0

可能与该代码根本没有任何关系。检查以确保您的 javascript 文件没有在同一个应用程序中被调用两次。

于 2018-11-07T07:29:19.330 回答