Javascript 如何在jQuery中调用click函数来调用另一个click函数

Javascript 如何在jQuery中调用click函数来调用另一个click函数,javascript,jquery,html,Javascript,Jquery,Html,我有两个按钮。当我点击按钮1时,按钮2为禁用状态,当按钮1关闭时,按钮2为启用状态。我正在使用触发器(“单击”),然后出现错误“超出了最大调用堆栈大小”。我怎样才能解决这个问题 $("#btn1").click(function(){ $('#box1').css('display','block'); $('#box1').addClass('tint'); $("#btn2").off('click'); }); $("#btn2").

我有两个按钮。当我点击按钮1时,按钮2为禁用状态,当按钮1关闭时,按钮2为启用状态。我正在使用触发器(“单击”),然后出现错误“超出了最大调用堆栈大小”。我怎样才能解决这个问题

$("#btn1").click(function(){
        $('#box1').css('display','block');
        $('#box1').addClass('tint');
        $("#btn2").off('click');
    });
$("#btn2").click(function(){
        alert("Button 2 was clicked");
    });
$('#boxclose1').click(function(){
        $('#box1').hide();
        $("#btn2").on("click", function(){
            $('#btn2').trigger("click"); error here
        });
    });   
这是一种递归调用函数bind来单击元素上的事件#btn2

你可以用

.prop(“已禁用”,真)以禁用和

.prop(“禁用”,false)以启用按钮

$(“#btn1”)。单击(函数(){
$('#box1').css('display','block');
$('#box1').addClass('tint');
$(“#btn2”).prop('disabled',true);
});
$(“#btn2”)。单击(函数(){
警报(“点击按钮2”);
});
$('#boxclose1')。单击(函数(){
$('#box1').hide();
$('btn2').prop('disabled',false);
});   
#框1{
显示:无;
}
.色调{
颜色:#ff0000;
}

方框1
按钮1
按钮2

Box Close
您正在单击处理程序中触发单击事件,这相当于这样做:
函数r(){r();}
为什么要这样做?您是否打算在重新打开侦听器后触发事件?因为调用触发器将调用
$(“#btn2”)。在(“单击”上,函数(){
处理程序将再次调用触发器,导致无限递归调用。为什么要调用触发器方法“我有2个按钮。当我单击按钮1时,按钮2被禁用”如果禁用,则使用“.prop”(“禁用”,false);”
    $("#btn2").on("click", function(){
        $('#btn2').trigger("click"); error here
    });