Javascript 如何检查ajax请求是否来自按钮

Javascript 如何检查ajax请求是否来自按钮,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我在处理ajax请求时禁用所有按钮,并在ajax过程完成并成功后启用它们。现在我的问题是。。。如何检查ajax请求是否来自特定元素,在本例中是一个按钮 以下是我目前的代码: $(document).ajaxSend(function(){ if(ajax request comes from a button) { $(':button').prop('disabled', true); } }); $(document).ajaxComplete(functi

我在处理ajax请求时禁用所有按钮,并在ajax过程完成并成功后启用它们。现在我的问题是。。。如何检查ajax请求是否来自特定元素,在本例中是一个按钮

以下是我目前的代码:

$(document).ajaxSend(function(){
    if(ajax request comes from a button) {
        $(':button').prop('disabled', true);
    }
});

$(document).ajaxComplete(function () {
    errorCount = 0;
    $(':button').prop('disabled', false);
});

任何建议都将非常宝贵:)谢谢大家

您可以这样尝试:

$(document).ajaxSend(function(sender){
    if(sender.tagName == 'button') {
        $(sender).prop('disabled', true);
    }
});

在lite研究和使用此处提供的建议后,我提出了解决方案,以下是我现在正在使用的代码:

$(document).on('click', 'button', function () {
        var $this = $(this);
        $(document).ajaxSend(function(){
            $this.prop('disabled', true);
        });
$(document).ajaxComplete(function () {
    $this.prop('disabled', false);
});

如果您执行
$(“按钮”)。单击(function(){$('button').prop('disabled',true);})
?当ajax调用时,您可以传递按钮的
id,并使用此id
disabled
按钮必须为您的按钮绑定一个专用的单击事件处理程序。在这个处理程序中,您可以触发您的请求,并在请求完成时注册相应的事件处理程序。在ajax调用中,您有两个选项:beforeSend和success,它们可以完成您的请求。mmm。。。我没想过:)我现在要试试@executableYes!像这样的东西是我一直在寻找的,只是标记名没有检测到我的“按钮”,但这应该很容易做到:)我会尽快更新我的代码,只要我有工作!看看这个: