Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.05.2017, 13:58
Интересующийся
Отправить личное сообщение для Dimasick Посмотреть профиль Найти все сообщения от Dimasick
 
Регистрация: 15.04.2011
Сообщений: 26

отследить состояние кнопки мышки
Есть полотно (canvas), для которого активирую обработчик в виде
canvas.addEventListener('click', listener, false);
само полотно разбито на области и я просто проверяю, если над этой областью был клик, то область перекрашиваю. Все работает НО есть вопрос: как делать то же самое, не кликая, а протаскивая мышку над теми областями, которые надо перекрасить? В обработчиках событий нашел только клик, драг и т.п., но не увидел ничего похожего на то, что мышка проходит над областью с зажатой кнопкой.
Ответить с цитированием
  #2 (permalink)  
Старый 05.05.2017, 15:03
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Dimasick,
По событию mousedown назначать обработчики на mousemove или mouseover (как удобнее), по mouseup убирать обработчики
Ответить с цитированием
  #3 (permalink)  
Старый 05.05.2017, 22:05
Интересующийся
Отправить личное сообщение для Dimasick Посмотреть профиль Найти все сообщения от Dimasick
 
Регистрация: 15.04.2011
Сообщений: 26

Сообщение от Dilettante_Pro Посмотреть сообщение
Dimasick,
По событию mousedown назначать обработчики на mousemove или mouseover (как удобнее), по mouseup убирать обработчики
Не понял Можете это как-то понятнее написать ?
Ответить с цитированием
  #4 (permalink)  
Старый 06.05.2017, 09:09
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Поподробнее
function listenerMouseDown() {
   canvas.addEventListener('mousemove', listener, false);
};
function listenerMouseUp() {
   canvas.removeEventListener('mousemove', listener, false);
};
function listener() {
  //проверяю, если над этой областью было движение, то область перекрашиваю.
}
canvas.addEventListener('mousedown', listenerMouseDown, false);
canvas.addEventListener('mouseup', listenerMouseUp, false);

Имейте в виду, что событий mousemove будет очень много
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
цикл функций на кнопки allexmak Events/DOM/Window 15 01.12.2016 16:52
Погоите разобраться с реагированием на события мышки filmokrut Общие вопросы Javascript 2 06.08.2016 19:59
Возврат в исходное состояние кнопки solobutova@mail.ru Элементы интерфейса 13 13.04.2016 18:14
Движение курсора над элементом при зажатой кнопки мышки Demath Общие вопросы Javascript 5 12.09.2013 17:32
Как отследить нажатие кнопки назад? olga153b Events/DOM/Window 3 06.11.2011 21:47