首次点击后,JQuery确认无法正常工作

时间:2016-06-01 17:14:27

标签: jquery confirm

我有这个jQuery代码,当用户点击div中的任何链接时弹出确认框。但我的问题是,如果我首先单击链接确认框,它会弹出,如果我单击取消,操作被取消,console.log显示confirm is not a function,如果我单击确定,则执行操作, console.log说confirm is not a function然后如果我再次点击一个链接,确认框不会再次弹出,直到我重新加载页面。这是我的jsfiddle

请有人知道我的错误吗?

2 个答案:

答案 0 :(得分:2)

您正在使用名为window.confirm的全局变量隐藏confirm

这是一个解决方案,我在其中调用您的本地变量confirm2

$("#aye a").click(function(){
    var str = "Removing this Photo, It can not be reversed\nAre You sure You want to remove it?";
    var confirm2 = confirm(str);
    if(confirm2){
        $("#div").html("deleted");
    }
});

请注意,我还添加了var关键字,以防止这些变量泄漏到全局空间。

答案 1 :(得分:0)

$("#aye a").click(function(){
    if(confirm( "Removing this Photo, It can not be reversed\nAre You sure You want to remove it?"))
    {
        // Add class to deleted item and remove click event so user cannot click again
        $(this).addClass("deleted").off("click");
		$("#div").html("deleted");
	}
});
a.deleted{
  color  : silver;
  cursor : not-allowed
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="aye">
   <a href="javascript:;">link 1</a>
   <a href="javascript:;">link 2</a>
   <a href="javascript:;">link 3</a>
   <a href="javascript:;">link 4</a>
</div>
<div id="div"></div>