Любые идеи о том, как реализовать событие «touchMoveOver» в Javascript? - PullRequest
0 голосов
/ 03 мая 2010

Я недоволен SVG, особенно для веб-контента, предназначенного для пользователей iPad. Я создал небольшую штуку типа циферблата, которую я называю «сырная доска», которую я хотел бы использовать в качестве элемента интерфейса.

http://appliedworks.co.uk/files/times/SVGTests/raphael.html

Нажатие на кусочек сыра (для продолжения аналогии) сделает «что-то». Это немного просто. Тем не менее, я бы хотел, чтобы пользователь мог перетаскивать свой палец вокруг «сырной доски» и запускать новое событие (touchesMovedOver?) Каждый раз, когда его палец перемещается над новым куском сыра. Но я не могу понять, как это сделать, поскольку для сенсорных интерфейсов нет эквивалента mouseOver.

Если бы все это было сделано из квадратов, я мог бы создать какой-то метод 'rectContainsPoint', который будет вызываться для каждого 'touchesMoved', но этот подход здесь не сработает.

Если у кого-нибудь есть идеи о том, как можно достичь чего-то подобного, я бы хотел это услышать.

Ответы [ 3 ]

2 голосов
/ 03 мая 2010

Я также не знаю, что происходит внутри SVG, но я думаю, что вы должны быть в состоянии реализовать это с помощью события "touchmove". Справочная библиотека Safari содержит хорошую статью о событиях касания iphone / ipad: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html

0 голосов
/ 03 мая 2010

Я думаю, вы правы, что для SVG нет эквивалента события mouseover.Ознакомьтесь с этой мыслью от Flash-разработчика, который полагает на печальную ситуацию .

, iPhone не делает движения мыши, и если вы не можете перемещать мышь междусобытия mousedown и mouseup, разница между mouseup и click становится бессмысленной.

Mousedown, по идее, все еще имеет действительную функцию как отдельное событие, которое запускается, когда пользователь касается экрана - независимо от того, что произойдет позже.К сожалению для теории, это не так, как это работает на iPhone.

Когда вы дотрагиваетесь до элемента и оставляете палец на месте некоторое время, вы получаете возможность дефокусировать его (то есть вы можетезаявить, что вы не хотите идти по этой ссылке в конце концов).С точки зрения событий JavaScript, я ожидал, что будет запущено событие mousedown, но не щелчок (я не был уверен в mouseup).Вместо этого событие не запускается.

0 голосов
/ 03 мая 2010

Я не уверен, как они распространяются на SVG, но определенно есть методы для обработки сенсорных событий с помощью JavaScript: http://rossboucher.com/2008/08/19/iphone-touch-events-in-javascript/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...