2011-10-28 34 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