我有一个工作正常的Hammerjs拖动侦听器,可以像我期望的那样捕获拖动。但是当放开时,紧随Dragend之后的是triggered
,它也会触发click
事件。因此,如果您单击以拖动(移动)目标,而光标恰好位于链接上,则当您放开(拖放)时,它会触发对链接的单击,而这并不是我想要的。
这是我的代码:
$('.draggable').hammer({
drag_min_distance: 0,
drag_max_touches: 2,
drag_lock_to_axis: true,
drag_lock_min_distance: 30
}).on('drag', handleMiddleEvent)
.on('dragstart', handleStartEvent)
.on('dragend', handleEndEvent);
如果我在所有三个处理程序上console.log
event
,然后在所有链接上console.log单击events
,我的控制台中将出现以下内容:dragstart
dragmiddle
dragmiddle
dragmiddle
dragmiddle
dragend
click
我想避免最后点击。我尝试将
event.stopPropagation()
添加到所有处理方法中,但无济于事。 最佳答案
尝试使用Hammer.js的tap
事件而不是链接上的click
事件。