event pageY и pageX для мобильных устройств
Здравствуйте друзья!
Не получается определить координаты элемента на экране мобильного устройства. Пытаюсь определить таким образом: $("#block").bind('mousedown touchstart mousemove touchmove mouseup touchend', function (event) { event.preventDefault(); if(event.type === 'mousedown' || event.type === 'touchstart'){ koordinatStart = event.pageY; $("#echo_koordinat").html(koordinatStart); } }); Пишет: undefined Что я делаю не так? |
arkadii_parovozov,
$("#block").on('mousedown touchstart mousemove touchmove mouseup touchend', function (event) { event.preventDefault(); if(event.type === 'touchstart'){ var e = event.originalEvent, koordinatStart = e.touches[0].pageY; $("#echo_koordinat").html(koordinatStart); } }); |
У touch-событий структура, насколько я помню, другая.
В событие передается коллекция касаний, а уже у каждого касания есть свои координаты. Почитайте: https://developer.mozilla.org/en-US/.../Touch/clientX |
из за того что касание может быть не одним а несколькими пальцами используется вот такое свойство TouchEvent.touches // список всех точек соприкосновения пальцев с экраном.
|
Спасибо всем большое!
Хотел сделать перемещение блока по экрану (для ПК мышью, а для моб. пальцем). Видимо не получится совместить. |
Цитата:
Определите тип события и исходя из этих данных получите нужные вам координаты. |
Nexus, спасибо, действительно получилось )
|
столкнулся с аналогичной задачей
Цитата:
|
Часовой пояс GMT +3, время: 06:17. |