iPad上的SVG交互性

时间:2011-10-28 14:32:26

标签: ipad svg

我们有通过Ajax加载SVG然后通过Javscript进行交互的代码。在Mozilla下,在Safari 5下,在PC上运行,我们可以获得SVG中预期的点击事件。运行Safari iPad我们没有获得点击事件。根据Safari开发人员指南:

http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/CreatingContentforSafarioniPhone/CreatingContentforSafarioniPhone.html

看起来很可能我们应该'让元素可点击'。 Apple的指南建议通过添加onclick处理程序来做到这一点。问题是我们所有的SVG元素都已经通过jQuery设置了一个点击处理程序 - 它们仍然没有点击。

也许这是因为SVG不是HTML,而SVG的DOM访问不是HTML DOM的访问权限? (我们以前来过这里。)

我们如何让iPad收听SVG元素上的事件?

2 个答案:

答案 0 :(得分:4)

据我所知,这个javascript的safari存在问题 - 它处理canvas / SVG 点击和触摸似乎不一样。 https://github.com/kangax/fabric.js/blob/master/dist/all.js 并且SVG 1.1没有点击事件 http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty 我有同样的兴趣,因此我寻求相同的信息......

答案 1 :(得分:2)

我能够使用jquery和javascript获取在Ipad上运行的点击事件。但我的问题是svg在iPad上模糊不清。

我的svg嵌入在一个html对象中,然后我只是通过调用一个正常的click事件来访问它,该事件引用了一个通过以下方式访问svg组件的函数:

window.top.document.getElementById('elementId');