为什么这个Javascript代码执行了两次?

时间:2013-07-31 10:29:13

标签: javascript

在我的网站上点击链接后,将执行以下Javascript代码,如果条件为true,则会显示警告对话框。当用户在警告对话框中选择OK按钮时,将再次执行代码块。

警报关闭,下面的代码再次执行,并再次显示警告对话框。当使用者选择警告对话框上的“确定”按钮时,警报对话框第二次关闭。

如何阻止以下代码执行两次?

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

4 个答案:

答案 0 :(得分:1)

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

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

这段代码应该有某种功能,可以显示类似的警告框。

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

当您触发点击它($('.close-reveal-modal').click();)时,它也会触发其父节点上的点击,因此也会触发#my-button

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

答案 3 :(得分:0)

可能与该代码完全无关。检查以确保您的javascript文件未在同一应用中被两次调用。