2016-03-08 4 views
0

У меня есть кнопка 2. Когда я нажимаю кнопку 1, кнопка 2 отключается, и когда кнопка 1 закрыта, кнопка 2 включается. Я использую триггер («щелчок»), затем возникает ошибка «Максимальный размер стека вызовов». Как я могу решить эту проблему.Как я могу вызвать функцию щелчка на другую функцию щелчка в jQuery

$("#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() {' обработчик, который вызовет триггер снова, вызывая бесконечный рекурсивный вызов. –

+0

Почему вы хотите вызвать метод триггера –

ответ

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>

+0

Большое спасибо –

0
$("#btn2").on("click", function(){ 
     $('#btn2').trigger("click"); error here 
    }); 

Это своего рода рекурсивный вызов функции привязки щелкните событие на элемент # btn2

Смежные вопросы