Страницы

Поиск по вопросам

вторник, 17 декабря 2019 г.

Как отличить события клика по элементу от его перетаскивания?

#javascript #jquery #jquery_ui


Имеется 
на странице. Через js добавили метод .draggable() и обработчик клика. Как отличать эти события и работать с ними не зависимо друг от друга?


Ответы

Ответ 1



Есть различие между mousemove, mousedown и mouseup. Вы можете сделать что-то вроде этого: var flag = 0; var element = document.getElementById('draggable'); $("#draggable").draggable(); element.addEventListener("mousedown", function(){ flag = 0; }, false); element.addEventListener("mousemove", function(){ flag = 1; }, false); element.addEventListener("mouseup", function(){ if(flag === 0){ console.log("click"); } else if(flag === 1){ console.log("drag"); } }, false);
Drag or click me>
Для нубов: это выводится в консоль. И это работает.

Комментариев нет:

Отправить комментарий