阻止基于单击的元素的某些功能
Prevent certain functionality based on element clicked
我有一个按钮.btn-1
,当单击它时也会触发对.btn-2
的单击。我想不出有什么方法可以做到以下几点:当单击.btn-2
时也会引发对.btn-1
的单击,但在这种情况下,会取消它触发对'.btn-2'的单击的功能,以防止无限循环。有办法做到这一点吗?
您可以使用.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]);
您可以使用一个布尔值来切换:
var done=true;
$('.btn-1').click(function(){
$('log').html($('log').html()+'bt1 pressed<br>')
if(done){
done=false;
$('.btn-2').click()
}
done=true;
})
http://jsfiddle.net/2o3k5wet/
一种更优雅的方法:
$('.btn-1, .btn-2').on('click', function() {
// do common stuff
if ($(this).is('.btn-1')) {
// do stuff only for 1
}
// do common stuff
});
相关文章:
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作
- 动画功能不应用于每个元素
- 访问内部功能范围的元素,而不是敲除中的外部
- 使用html 5对元素执行自定义表单验证功能
- 如何使用位置获取滚动功能获取 HTML 中的元素标签
- 元素不会为 JS 切换功能显示
- Jquery悬停功能显示和隐藏元素
- 阻止基于单击的元素的某些功能
- 可以't在具有双重可排序功能的空dom元素上拖回元素
- 单个功能的多个元素
- 同时使用同一单击功能的多个元素.怎样
- 将现有的单击功能重新附加到元素
- Div元素并没有引导点击以启用拖动功能
- 将功能元素 IMG 更改为 DIV 背景
- 使用Ryan Fait的“自定义表单元素”时的“全选”功能
- j查询未来媒体元素的功能
- 使用实习生在功能上测试元素是否可见(没有元素覆盖)
- 如何在元素的默认行为之后运行单击功能
- jquery 和 DOM 元素点击功能
- 为什么我的基于单选按钮的隐藏/显示元素功能不起作用