2013-10-25 40 views
0

我在尝试做一个简单的操作:if(confirm()){actions},但即使没有按下确认/取消操作也会执行一些操作。如何防止confirm()的默认操作JavaScript

这里是我的代码:

$("#checkbox").click(function() { 

    if (confirm("Continu ?")) { 
     hideShowDiv("test"); 
     $(this).attr("checked", true); 
    } 
} 

我这种情况下,如果你点击复选框,即使你没有按确认/取消,该复选框将被选中,但在div“测试”赢将不会显示(除非您按确认)。我不知道为什么这行:

$(this).attr("checked", true); 

在confirm()返回之前执行。

+0

什么是您使用的jQuery文件的版本? –

回答

2

尝试添加e.preventDefault();

$("#checkbox").click(function(e) { 
    e.preventDefault(); 
    if (confirm("Continu ?")) { 
     hideShowDiv("test"); 
     $(this).attr("checked", true); 
    } 
} 
+0

或返回false;在点击回调结束 –

+0

它的作品,谢谢你们 – user2688870