确认后jquery点击不工作

时间:2013-03-11 09:33:29

标签: javascript jquery confirm

我有一个奇怪的问题。我提供了一个发送ajax请求以删除用户的链接。如果用户第一次单击链接并确认确认框,则触发ajax功能。但如果用户之后再次点击类delUser的链接,则没有任何反应。没有确认Box什么,似乎点击功能被忽略了。我发现如果我用确认切割部件一切正常。

这有什么不对吗?

jQuery(".delUser").click(function(){       
    // open confirm Window
    confirm = window.confirm("Nutzer wirklich löschen?");
    User = $(this).attr("data-link");

    if(confirm == true){

            jQuery.ajax({
            type: "POST",
            url: "/Admin/DelUser.php",
            data: { where: User },
            success: function(retData){
                    jQuery.noticeAdd({text: "" + retData + "",
                    stay: false, 
                    type: 'error'
                });                             
                }
            }); 
            $(this).closest('tr').remove(); 

            } else {
                   talk("Nutzer wurde nicht gelöscht");
            }         
    });

亲切的问候,

2 个答案:

答案 0 :(得分:4)

因为您正在覆盖confirm

这一行:

confirm = window.confirm("Nutzer wirklich löschen?");

等于

window.confirm = window.confirm("Nutzer wirklich löschen?");

using globals is a very bad idea的原因之一。当您declaring a variable时,请始终使用var,因此它不会是全局的:

var confirm = window.confirm("Nutzer wirklich löschen?");

同样适用于User。你应该声明它:

var User = $(this).attr("data-link");

答案 1 :(得分:0)

试试这个:

jQuery(".delUser").click(function(){       
User = $(this).attr("data-link");

if(window.confirm("Nutzer wirklich löschen?")){

        jQuery.ajax({
        type: "POST",
        url: "/Admin/DelUser.php",
        data: { where: User },
        success: function(retData){
                jQuery.noticeAdd({text: "" + retData + "",
                stay: false, 
                type: 'error'
            });                             
            }
        }); 
        $(this).closest('tr').remove(); 

        } else {
               talk("Nutzer wurde nicht gelöscht");
        }         
});