jquery - 如何避免 jQuery UI Draggable 也触发点击事件

标签 jquery jquery-ui

A 有一个大 div( map ),可以通过 jQuery UI 拖动。该 div 具有可点击的子 div。

我的问题是,如果您拖动 map ,在鼠标向上时,单击事件将在您开始拖动的任何子 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(); } );
    }
});

这是有效的,因为“one-listeners”“正常”听众之前被触发的。因此,如果单监听器停止传播,它将永远不会到达您之前设置的监听器。

关于jquery - 如何避免 jQuery UI Draggable 也触发点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3486760/

相关文章:

javascript - 如何在列表上使用 onclick 事件(jqueryui-selectable)?

JavaScript Firebug 错误

android - 图像边框像素化(Android 应用程序中的移动页面)

JQuery if() 与 :contains

jquery - 类似 Facebook 的灯箱插件,具有照片评论功能

php - jQuery-UI - 从 .droppable 到 p.array 的 .append(快到了!)

jquery ui 可调整大小 : resizing the rotated objects

javascript - PHP Ajax 适用于 get,但不适用于 post

jquery - 请解释 jQuery 拖动的这种奇怪行为(在 Chrome 中)

javascript - jqueryUI 自动完成 - 无论搜索结果如何,始终附加一个选项