参见英文答案 >
Preventing click event with jQuery drag and drop14个答案A有一个大的div(一个地图),可以通过jQuery UI拖动拖动。该div具有可点击的子div。
我的问题是,如果拖动地图,在鼠标向上,点击事件将触发您启动拖动的任何子div。
如果拖动鼠标的一部分(而不是只是点击没有拖动,在这种情况下需要点击事件),我如何阻止鼠标触发点击事件。
解决方法
$('.selector').draggable({ stop: function(event,ui) { // event.toElement is the element that was responsible // for triggering this event. The handle,in case of a draggable. $( event.originalEvent.target ).one('click',function(e){ e.stopImmediatePropagation(); } ); } });
这是因为“一听众”在“正常”听众之前被触发。所以如果一个监听器停止传播,它将永远不会到达你之前设置的监听器。