Предостережение: я очень новичок в js, и в основном я получил за счет поиска в Интернете примеров / учебников.
Я пишу js, которые должны работать как в Интернете, так и на мобильных устройствах (например, iPad)..
У нас есть библиотека, которая поможет абстрагироваться от различий между mouse
и touch
:
if (navigator.userAgent.search('Mobile') > 0) {
window.FLAGS = {
start: 'touchstart',
end: 'touchend',
move: 'touchmove',
click: 'click',
touchScreen: true
};
} else {
window.FLAGS = {
start: 'mousedown',
end: 'mouseup',
move: 'mousemove',
click: 'click',
touchScreen: false
};
}
Тогда в коде вы можете делать такие вещи, как:
widget.view.bind(FLAGS.start, function(e) {
Я пытаюсь найти touch
эквивалент для mouseleave
, чтобы я мог сделать подобный трюк.
Я могу представить способы поймать событие leave
, отслеживая положение на move
и сравнивая это с ограничивающей рамкой виджета, о котором идет речь, но я надеюсь, что есть небольшая однострочная строка, такая как отношение touchstart
/ mousedown
.