2013-07-31 90 views
1

当我的网站上点击一个链接时,会执行下面的Javascript代码,如果条件为真,它会显示一个警告对话框。当用户在警报对话框中选择确定按钮时,将再次执行该代码块。为什么这个Javascript代码执行两次?

因此,警报关闭,下面的代码再次执行,警报对话框再次显示。第二次警报对话框关闭时,在使用警报对话框时选择确定按钮。

我怎样才能防止下面执行两次的代码?

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

请发布html或试图在jsfiddle上重现它 – Saturnix

+0

在此处输入HTML –

+3

#my-button是否也有类.close-reveal-modal? – evilbhonda

回答

1

检查,如果你两次添加单击处理程序,也许这是什么原因造成这种行为。

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

1

从商提供的是非常有限的信息,这是所有我能想到的是去错了:

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

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

完善的代码将是一个完整的答案更有用!

0

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

当您触发点击它时(按$('.close-reveal-modal').click();),它也触发其父节点的点击,所以也在#my-button上。

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