2016-06-01 3 views
0

div内のリンクをクリックしたときに確認ボックスが表示されるjQueryコードがあります。しかし、私の問題はこれです。最初にcomfirmボックスのリンクをクリックすると、キャンセルをクリックするとキャンセルされ、console.logにはconfirm is not a functionと表示され、OKをクリックするとconsole.log confirm is not a functionと言っています。また、リンクをもう一度クリックすると、ページをリロードするまで、確認ボックスが再びポップアップしません。ここに私ですjsfiddle最初のクリック後にJQueryが動作しないことを確認しました

どうしたらいいですか?

答えて

2

グローバル変数confirmを使用してwindow.confirmをシャドーイングしています。ここで

は、私はあなたのローカル変数私はまた、グローバル空間に漏れるこれらの変数を保つために varキーワードを追加しました 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"); 
    } 
}); 

注意を呼び出す一つの解決策です。

+0

おかげ@Jeremy ... –

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"); 
 
\t \t $("#div").html("deleted"); 
 
\t } 
 
});
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>

関連する問題