我已经设置了一个jsfiddle来展示我的问题。 http://jsfiddle.net/fy8tK/3/
简单来说,我有一个子元素同时具有单击和双击触发器。它们都是在click
事件中使用超时处理的。
父术语也有双击事件。我用dblclick
定义了它。 event.stopPropagation()
无效,我想知道是不是因为它们是不同的事件类型?
基本上,如果我们实际点击子元素,我需要激活父dblclick
事件。
答案 0 :(得分:1)
$('.parent').bind('dblclick', function (e) {
if (e.target !== 'div.child') {
alert('double click parent');
}
});
$('.child').bind('click', function(e) {
alert('single click child');
});
来自jQuery Documentation on 'dblclick':不建议将处理程序绑定到同一元素的click和dblclick事件。触发的事件序列因浏览器而异,有些事件在dblclick之前接收到两个点击事件,而其他事件只接收一个事件。双击敏感度(双击检测到的点击之间的最长时间)可能因操作系统和浏览器而异,通常可由用户配置。
您还可以参考this SO question