Какие события мыши/касания я должен использовать, чтобы заставить Div изменить цвет, когда курсор перетаскивается на него?

StackOverflow https://stackoverflow.com/questions/6813087

Вопрос

Я хотел бы знать, какие события мыши мне нужно использовать для задачи ниже.

Когда курсор перетаскивается над Div, Div меняет цвет.

Под перетаскиванием я имею в виду, что Кнопка мыши была нажата один раз (и не выпуская) где -то за пределами DIV, а затем курсор был перемещен над Div (Кнопка мыши не была выпущена в течение этого процесса).

Div не должен отвечать на Onmouseover. Кнопка мыши должна была быть подавлена, а затем перетаскивала через DIV, чтобы активировать изменение в Div.

Мне также интересно, есть ли эквивалентные события для сенсорных устройств?

Это было полезно?

Решение

Если я понял это право, вы можете сделать следующее:

  • Установите глобальную переменную "Mousedown" на false
  • Используйте событие "OnmouseDown", чтобы установить «Mousedown» на True
  • Используйте событие «Onmouseover» вашего Div, чтобы выпустить функцию, где вы сначала проверяете, правда ли Мауседаун, и если так далее, сделайте диг видимым
  • Используйте событие "Onmouseup" на вашей странице, чтобы снова установить "Mousedown"

Для всего JavaScript, связанного с событием Touch Sencha Touch

РЕДАКТИРОВАТЬ: Если вы хотите избежать таких структур. Вы должны взглянуть на спецификацию HTML5. Есть пара новых событий, связанных с прикосновениями.

Вот хорошая статья об этом:

http://www.html5rocks.com/en/mobile/touch.html

Другие советы

Я бы порекомендовал Jqueryui Для этого - у него есть несколько Специфичные события встроенный. Событие перетаскивания для сенсорных устройств называется touchmove

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top