2011-12-19 2 views
0

У меня возникла проблема с чем-то довольно простым. Когда я нажимаю #mybutton, я хочу вызвать щелчок на другой кнопке.jQuery - Триггер() один раз при каждом нажатии

$('#mybutton').click(function(){ 

    $('#otherbutton').trigger('click'); 

}); 

Когда я первый нажмите #mybutton#otherbutton сработает один раз. Когда я нажимаю #mybutton, второй раз #otherbutton будет срабатывать дважды. Когда я нажимаю #mybutton, третий раз #otherbutton трижды срабатывает ... и так далее.

Как я могу остановить это, чтобы #otherbutton запускал только один раз для каждого щелчка #mybutton?

EDIT

Aha! Я только что понял, что это связано с fancybox (где живут кнопки).

Кнопки щелкнуты по кнопке fancybox popop, которая также запускается, чтобы открываться каждый раз до нажатия кнопок.

$('#planApp-link').fancybox().trigger('click'); 

Я все еще не уверен, как предотвратить это. .

+1

Я не думаю, что проблема, с которой вы связаны, связана с кодом, который вы опубликовали. Можете ли вы разместить больше? –

+0

Я думаю, что вы ошибаетесь - вы будете нажимать на него - и каждый раз, когда он его запустит –

+0

Есть ли какой-нибудь другой код в вашем обработчике событий, который вы пропустили? Похоже, вы привязываете событие '$ ('# otherbutton')' click в обработчике '$ ('# mybutton')' 'click. –

ответ

0

вместо того, чтобы использовать триггер ("щелчок") и может использовать

$ ('# otherbutton') нажмите();

эта функции она будет вызывать функцию щелчка

 
    $(".clas1").on("click",function(){ 
     $(".clas2").click(); 
    }); 
    $(".clas2").on("click",function(){ 
     alert("div2"); 
    }); 
.

+1

'.click()' и '.trigger ('click')' по существу одинаковы – mishik

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