停止事件从jquery的可拖动停止到onclick的传播

时间:2019-02-07 03:22:03

标签: javascript jquery jquery-ui-draggable

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

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

,但仍会触发onclick事件。有JavaScript大师的想法吗?

1 个答案:

答案 0 :(得分: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
    });