有关如何在Javascript中实现'touchMoveOver'事件的任何想法?

时间:2010-05-02 22:18:10

标签: javascript ipad svg

我正在使用SVG,特别是针对iPad用户的网络内容。我创建了一个小型拨号类型的东西,我称之为“奶酪板”,我想用它作为界面元素。

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

点击一块奶酪(以保持类比)将做“某事”。这很容易。但是,我希望用户能够在“奶酪板”周围拖动手指,每当他们的手指移动到新的奶酪上时,就会触发一个新事件(touchesMovedOver?)。但我无法弄清楚如何做到这一点,因为触摸界面没有'mouseOver'等价物。

如果整个事情是由正方形组成的,我可以创建某种'rectContainsPoint'方法来为每个'touchesMoved'调用,但这种方法在这里不起作用。

如果有人知道如何实现这样的事情,我很乐意听到。

3 个答案:

答案 0 :(得分:2)

我也不知道SVG内部会发生什么,但我认为您应该能够使用“touchmove”事件来实现它。 Safari参考资料库有一篇关于iphone / ipad触摸事件的好文章:https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html

答案 1 :(得分:0)

我不确定它们是如何扩展到SVG的,但肯定有使用JavaScript处理触摸事件的方法:http://rossboucher.com/2008/08/19/iphone-touch-events-in-javascript/

答案 2 :(得分:0)

我认为你是对的,没有相当于SVG的鼠标悬停事件。查看由opines on the sad situation

的Flash开发人员撰写的这篇思考文章
  iPhone没有鼠标移动,   如果你不能移动鼠标   在mousedown和mouseup之间   事件,mouseup之间的区别   并且点击变得毫无意义。

     理论上,Mousedown还有一个   有效功能作为单独的事件   当用户触摸时会被触发   屏幕 - 无论发生什么   后来。不幸的是理论,   这不是它的工作方式   iPhone。

     

当您触摸元素并离开时   你的手指有一段时间了   可以选择去焦点(即   你可以说你不想要   毕竟是这个链接)。在   JavaScript事件条款,我期待一个   mousedown事件要开火,但不是   点击(我不确定鼠标)。   相反,没有事件发生。