Javascript jquery在确认后单击“不工作”

Javascript jquery在确认后单击“不工作”,javascript,jquery,confirm,Javascript,Jquery,Confirm,我有一个奇怪的问题。我提供了一个链接,它发送一个ajax请求来删除一个用户。如果用户第一次单击链接并确认确认框,则会触发ajax函数。但是,如果用户在此之后再次单击与类delUser的链接,则不会发生任何事情。无确认框无,似乎单击功能被忽略。我发现如果我用confirmbox切割零件,一切都很好 这个有什么问题吗 jQuery(".delUser").click(function(){ // open confirm Window confirm = window.

我有一个奇怪的问题。我提供了一个链接,它发送一个ajax请求来删除一个用户。如果用户第一次单击链接并确认确认框,则会触发ajax函数。但是,如果用户在此之后再次单击与类delUser的链接,则不会发生任何事情。无确认框无,似乎单击功能被忽略。我发现如果我用confirmbox切割零件,一切都很好

这个有什么问题吗

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");
            }         
    });
亲切问候,


Tony

因为您正在覆盖
确认

这一行:

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

window.confirm = window.confirm("Nutzer wirklich löschen?");
原因之一。如果是,请始终使用
var
,这样它就不会是全局的:

var confirm = window.confirm("Nutzer wirklich löschen?");
这同样适用于
用户
。您应该这样声明:

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

因为您正在覆盖
确认

这一行:

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

window.confirm = window.confirm("Nutzer wirklich löschen?");
原因之一。如果是,请始终使用
var
,这样它就不会是全局的:

var confirm = window.confirm("Nutzer wirklich löschen?");
这同样适用于
用户
。您应该这样声明:

var User = $(this).attr("data-link");
试试这个:

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");
        }         
});
试试这个:

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");
        }         
});

哇,这太快了!,意思是因为我确认=。。。没用?太好了,这真的让我大开眼界!谢谢你+所有回答的人。t@tBook很高兴我能帮忙。使用globals的人已经少了一个:)。哇,这太快了!,意思是因为我确认=。。。没用?太好了,这真的让我大开眼界!谢谢你+所有回答的人。t@tBook很高兴我能帮忙。使用globals的人已经少了一个:)。首先更改confirm变量的名称,使其类似于var doOperation=window.confirm。这是由于冲突而发生的,请确认。使用var定义任何新变量以避免其全局作用域。也不要忘记声明用户变量:)
var User=…
首先更改确认变量的名称,并使其类似于var doOperation=window.confirm。这是由于冲突而发生的,请确认。使用var定义任何新变量以避免其全局作用域。也不要忘记声明用户变量:)
var User=…