我有一个按钮.btn-1
,当点击时也触发点击.btn-2
我无法想办法执行以下操作:点击.btn-2
时也会触发点击在.btn-1
但是在这种情况下,忽略其功能以触发点击'.btn-2'以防止无限循环。有没有办法实现这个目标?
答案 0 :(得分:1)
您可以使用.trigger()
方法将其他数据传递给处理程序:
$('.btn-2').on('click', function(event, skip) {
// if the skip parameter is a truthy value
// don't trigger the event
if ( !skip ) {
$('.btn-1').trigger('click', [true]);
}
});
$('.btn-2').trigger('click', [true]);
答案 1 :(得分:0)
你可以使用一个切换的布尔值:
var done=true;
$('.btn-1').click(function(){
$('log').html($('log').html()+'bt1 pressed<br>')
if(done){
done=false;
$('.btn-2').click()
}
done=true;
})
答案 2 :(得分:0)
更优雅的方法:
$('.btn-1, .btn-2').on('click', function() {
// do common stuff
if ($(this).is('.btn-1')) {
// do stuff only for 1
}
// do common stuff
});