jQuery旨在用于带有JavaScript的HTML页面。带有SVG文档的jQuery
SVG使用相同的DOM级别2为HTML但是基于XML和ECMAScript的指定。
可能会导致什么样的问题,从使用jQuery与SVG?将这种SVG作为元素嵌入到HTML文档中会更好吗?
注意,我不是指“jQuery的SVG”绘图库,一个HTML文档使用jQuery语法图形端口提供了一个SVG元素的操作。我想要的是在SVG元素上使用jQuery选择器和事件管理,而SVG根可能在HTML内部或不在。
jQuery旨在用于带有JavaScript的HTML页面。带有SVG文档的jQuery
SVG使用相同的DOM级别2为HTML但是基于XML和ECMAScript的指定。
可能会导致什么样的问题,从使用jQuery与SVG?将这种SVG作为元素嵌入到HTML文档中会更好吗?
注意,我不是指“jQuery的SVG”绘图库,一个HTML文档使用jQuery语法图形端口提供了一个SVG元素的操作。我想要的是在SVG元素上使用jQuery选择器和事件管理,而SVG根可能在HTML内部或不在。
尝试它,选择似乎工作,但其他的东西没有。初始化页面的$(function() { })
惯用法不起作用,因为SVG仅将SVGLoad
事件传递给顶部<svg>
元素。尽管如此,$('svg').bind('SVGLoad', function(){})
确实有效。
与.append
动态添加元素使他们在DOM,使得他们没有得到呈现,至少在Firefox浏览器。即使在文档重新呈现后,幻影元素仍然不可见,包括动态添加的元素,而不使用jQuery。 $().attr(key, value)
可能会更改属性,但不会更新屏幕显示。
这一切似乎不幸折断。一旦它嵌入到XHTML文档中,更多功能就可以使用。但是上述缺陷仍然存在,使用其他框架可能会更好。也许给jQuery SVG再看一看...
回复:javascript vs ecmascript的混淆,请参阅http://stackoverflow.com/questions/912479/what-is-the-difference-between-javascript-and-ecmascript。 –
可能的重复:http://stackoverflow.com/questions/2294801/jquery-under-svg。无论如何,为什么不试试D3.js呢? D3具有简单的事件绑定和选择器。特别是因为你似乎不太关心不支持SVG的浏览器。 –
@ErikDahlström哦,谢谢! – Potatoswatter