2011-10-28 35 views
3

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

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

我能得到点击使用jQuery和JavaScript在iPad上工作的事件。但我的问题是,svg在iPad上模糊不清。

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

这个实际上是如何运作的更多细节:

我的SVG嵌入到HTML对象,然后我就通过调用参考,通过访问SVG组件的功能正常的单击事件访问它?您是否在对象上注册触摸事件处理程序,然后将它们转换为点击事件以手动重新分派到SVG元素上? – chubbsondubs