我正在使用SVG,特别是针对iPad用户的网络内容。我创建了一个小型拨号类型的东西,我称之为“奶酪板”,我想用它作为界面元素。
http://appliedworks.co.uk/files/times/SVGTests/raphael.html
点击一块奶酪(以保持类比)将做“某事”。这很容易。但是,我希望用户能够在“奶酪板”周围拖动手指,每当他们的手指移动到新的奶酪上时,就会触发一个新事件(touchesMovedOver?)。但我无法弄清楚如何做到这一点,因为触摸界面没有'mouseOver'等价物。
如果整个事情是由正方形组成的,我可以创建某种'rectContainsPoint'方法来为每个'touchesMoved'调用,但这种方法在这里不起作用。
如果有人知道如何实现这样的事情,我很乐意听到。
答案 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事件要开火,但不是 点击(我不确定鼠标)。 相反,没有事件发生。