2012-12-19 65 views
6

jQuery旨在用於帶有JavaScript的HTML頁面。帶有SVG文檔的jQuery

SVG使用相同的DOM級別2爲HTML但是基於XML和ECMAScript的指定。

可能會導致什麼樣的問題,從使用jQuery與SVG?將這種SVG作爲元素嵌入到HTML文檔中會更好嗎?

注意,我不是指「jQuery的SVG」繪圖庫,一個HTML文檔使用jQuery語法圖形端口提供了一個SVG元素的操作。我想要的是在SVG元素上使用jQuery選擇器和事件管理,而SVG根可能在HTML內部或不在。

+0

回覆:javascript vs ecmascript的混淆,請參閱http://stackoverflow.com/questions/912479/what-is-the-difference-between-javascript-and-ecmascript。 –

+0

可能的重複:http://stackoverflow.com/questions/2294801/jquery-under-svg。無論如何,爲什麼不試試D3.js呢? D3具有簡單的事件綁定和選擇器。特別是因爲你似乎不太關心不支持SVG的瀏覽器。 –

+0

@ErikDahlström哦,謝謝! – Potatoswatter

回答

2

嘗試它,選擇似乎工作,但其他的東西沒有。初始化頁面的$(function() { })慣用法不起作用,因爲SVG僅將SVGLoad事件傳遞給頂部<svg>元素。儘管如此,$('svg').bind('SVGLoad', function(){})確實有效。

.append動態添加元素使他們在DOM,使得他們沒有得到呈現,至少在Firefox瀏覽器。即使在文檔重新呈現後,幻影元素仍然不可見,包括動態添加的元素,而不使用jQuery。 $().attr(key, value)可能會更改屬性,但不會更新屏幕顯示。

這一切似乎不幸折斷。一旦它嵌入到XHTML文檔中,更多功能就可以使用。但是上述缺陷仍然存在,使用其他框架可能會更好。也許給jQuery SVG再看一看...