@Worddoc
Frontend explorer

Как отследить, зажата ли мышка или нет?

Здравствуйте. Сделал draggable bar и все работает очень хорошо. Но проблема в том, что если начать перетаскивать кнопку вправо до конца и вести мышку за пределы бара, через близлежащий элемент input, то работает mousemove, который по идее должен убираться c помощью unbind(), после mouseup. Так вот нужно как-то отследить, зажата ли мышка или нет и в связи с этим разрешать mousemove в документе или нет. Я попробовал сделать это с помощью переменной mouseDown, но это никак не повлияло... Вот пример: https://jsfiddle.net/c2cqxcf8/. Надеюсь на вашу помощь, спасибо.
  • Вопрос задан
  • 1135 просмотров
Пригласить эксперта
Ответы на вопрос 3
link_web
@link_web
Magento, Laravel, Zend, Shopify, Prestashop, WP
Я бы сделал так:
После нажатия кнопки, запустить таймер на три секунды и если время прошло, то значит мышка зажата и запускается нужная функция.
Ответ написан
Комментировать
itprodavets
@itprodavets
.Net Developer
Можно попробовать так:
var flag = 0;
  $(".visible").mousedown(function(){
    flag = 1;
  });
  $(".visible").mouseup(function(){
    flag = 0;
  });
  
  setInterval(function(){
    if(flag == 1) {
      console.log("+")
    } else {
      
    }
  },100);


Вот тут есть подробнее о событиях мыши.

Вам нужно:
mousedown - Кнопка мыши нажата над элементом.
mouseup - Кнопка мыши отпущена над элементом.
Ответ написан
Bowen
@Bowen
Японский бог
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы