Событие сенсорного экрана Javascript, такое как колесико мыши DOMMouseScroll

Здравствуйте, мне нужно событие сенсорного экрана, которое работает как mousewheel DOMMouseScroll. Я создаю веб-сайт, такой как карты Google, и с помощью события сенсорного экрана мне нужна функция для увеличения и уменьшения масштаба.

Потребность работает как это изображение:

введите здесь описание изображения


person Your choice    schedule 19.03.2015    source источник


Ответы (1)


Попробуй это:

https://github.com/se468/JavascriptGestureHandler

Он будет выполнять как события мыши, так и касания в зависимости от того, какое устройство.

Редактировать:

Здесь я добавлю более подробную информацию, как было предложено.

В Javascript есть события «touchstart», «touchend», «touchcancel», «touchleave», «touchmove».

Например, если у вас есть такой объект DOM:

<div id="target" style="width: 100px; height: 100px; background: #ff0"></div>

В Javascript вы можете прикреплять события следующим образом (то же самое касается и других событий):

$("#target").addEventListener("touchstart",function(e){console.log(e.changedTouches)},false);

поэтому для масштабирования вы должны проверить, является ли e.changedTouches.length >= 2 внутри функции.

  • e.changedTouches[0].pageX и e.changedTouches[0].pageY дадут вам координаты одного пальца
  • e.changedTouches[1].pageX и e.changedTouches[1].pageY дадут координаты другого пальца.

Проверьте изменение расстояния между этими точками касания, когда происходит событие «touchmove», и это значение должно указывать величину, на которую оно должно увеличивать и уменьшать масштаб.

person Seyong Cho    schedule 27.03.2015
comment
даже если ответ, если по этой ссылке, это помогает переместить ключевые части решения на эту страницу. взгляните на stackoverflow.com/help/how-to-answer. - person MZaragoza; 27.03.2015