我有2个按钮。当我点击按钮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
});
});
答案 0 :(得分:0)
$("#btn2").on("click", function(){
$('#btn2').trigger("click"); error here
});
这是函数绑定到元素#btn2
上的click事件的递归调用答案 1 :(得分:0)
这很好用
您可以使用
.prop("disabled",true);
禁用和
.prop("disabled",false);
启用按钮
$("#btn1").click(function(){
$('#box1').css('display','block');
$('#box1').addClass('tint');
$("#btn2").prop('disabled', true);
});
$("#btn2").click(function(){
alert("Button 2 was clicked");
});
$('#boxclose1').click(function(){
$('#box1').hide();
$('#btn2').prop('disabled', false);
});
#box1 {
display:none;
}
.tint {
color: #ff0000;
}
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<div id="box1">Box 1</div>
<button id="btn1">Button 1</button>
<button id="btn2">Button 2</button>
<button id="boxclose1">Box Close</button>