【问题标题】:Stop event propagation from jquery Draggable stop to onclick停止从 jquery 的事件传播 Draggable stop 到 onclick
【发布时间】:2019-02-07 03:22:02
【问题描述】:

我有一个可拖动的 div ,使用 jqueryUI 可拖动库进行拖动。我在 div 上有一个 onclick 处理程序,但是当我拖动 div 时,它会触发我不想要的单击处理程序。拖动停止发生在点击之前,所以我尝试了这个:

$("#div").draggable({
    stop: function(e) {
        e.originalEvent.stopPropagation();
    }
});

但 onclick 事件仍然会触发。 JavaScript 大师有什么想法吗?

【问题讨论】:

  • 您是否尝试过使用preventDefault()

标签: javascript jquery jquery-ui-draggable


【解决方案1】:

您可以使用链接并直接在 click 方法上处理它。 在拖动状态下,the draggable gets a new class: ui-draggable-dragging.

$("#div")
    .draggable()
    .click(function(){
      if ( $(this).is('.ui-draggable-dragging') ) {
            return;
      }
      // click action here
    });

【讨论】:

    猜你喜欢
    • 2014-05-06
    • 2014-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多