Остановить распространение событий из jquery. - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть перетаскиваемый div, сделанный перетаскиваемым с помощью библиотеки jqueryUI.У меня есть обработчик onclick на div, но когда я перетаскиваю div, он запускает обработчик click, который мне не нужен.Остановка перетаскивания происходит перед щелчком, поэтому я попробовал это:

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

, но событие onclick по-прежнему срабатывает.Есть идеи по JavaScript гуру?

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете использовать цепочку и обрабатывать ее непосредственно по методу клика.В состоянии перетаскивания перетаскиваемый объект получает новый класс: ui-draggable-dragging.

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