Какие события мыши/касания я должен использовать, чтобы заставить Div изменить цвет, когда курсор перетаскивается на него?
-
25-10-2019 - |
Вопрос
Я хотел бы знать, какие события мыши мне нужно использовать для задачи ниже.
Когда курсор перетаскивается над Div, Div меняет цвет.
Под перетаскиванием я имею в виду, что Кнопка мыши была нажата один раз (и не выпуская) где -то за пределами DIV, а затем курсор был перемещен над Div (Кнопка мыши не была выпущена в течение этого процесса).
Div не должен отвечать на Onmouseover. Кнопка мыши должна была быть подавлена, а затем перетаскивала через DIV, чтобы активировать изменение в Div.
Мне также интересно, есть ли эквивалентные события для сенсорных устройств?
Решение
Если я понял это право, вы можете сделать следующее:
- Установите глобальную переменную "Mousedown" на false
- Используйте событие "OnmouseDown", чтобы установить «Mousedown» на True
- Используйте событие «Onmouseover» вашего Div, чтобы выпустить функцию, где вы сначала проверяете, правда ли Мауседаун, и если так далее, сделайте диг видимым
- Используйте событие "Onmouseup" на вашей странице, чтобы снова установить "Mousedown"
Для всего JavaScript, связанного с событием Touch Sencha Touch
РЕДАКТИРОВАТЬ: Если вы хотите избежать таких структур. Вы должны взглянуть на спецификацию HTML5. Есть пара новых событий, связанных с прикосновениями.
Вот хорошая статья об этом:
Другие советы
Я бы порекомендовал Jqueryui Для этого - у него есть несколько Специфичные события встроенный. Событие перетаскивания для сенсорных устройств называется touchmove