我有一个完美工作的hammerjs拖动监听器,可以像预期的那样捕获拖动。但是,当您放开后,dragend被触发后,它会触发一个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 click events
,那么我在控制台上会得到类似于这样的结果:
dragstart
dragmiddle
dragmiddle
dragmiddle
dragmiddle
dragend
click
我希望避免在最后进行点击。我尝试将event.stopPropagation()
添加到所有处理方法中,但没有效果。