Показать сообщение отдельно
  #1 (permalink)  
Старый 04.02.2012, 23:59
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Как узнать, что левая клавиша мыши не зажата
Делаю элемент, который можно растягивать.

var mousedown;
document.addEventListener('mousemove', function(){
    if( mousedown /* && вот здесь нужно как-то узнать, что клавиша мыши не зажата */) {
       resizeDiv();
    }
});

el.addEventListener('mousedown', function(){
    mousedown = true;
});

el.addEventListener('mouseup', function(){
    mousedown = false;
});


Проблема в том, что если человек зажимает левую клавишу мыши, доводит курсор до области, выходящей за рамки окна, отпускает её, затем снова возвращает курсор в окно, то скрипт "считает", что клавиша всё еще зажата и элемент, предназначенный для масштабирования "ходит" вместе с курсором, пока снова не вызовется событие mouseup. Надеюсь, что всё понятно объяснил. Как решить эту проблему?
(Код сильно упростил, поэтому возможны ошибки)
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием