如何隐藏</object>时如何加载HTML <object> SVG

时间:2012-08-05 04:23:07

标签: javascript jquery html svg

我需要等待某个对象在隐藏时加载。但似乎正在发生的事情是它只在没有display:none;

的情况下加载

我正在使用jQuery,我尝试在对象上放置.load以在加载时调用函数,但似乎它不会加载,因为它是隐藏的。

是否存在“强制”加载对象的方式,或另一种“隐藏”但仍在加载的方式?

如何纠正:

使用visibility: hidden代替display: none

如下所述:http://www.w3.org/TR/SVG/painting.html#VisibilityProperty

  

当'display'属性设置为none时,则为给定元素   不会成为渲染树的一部分。将“可见性”设置为   然而,隐藏的处理就像元素是其中的一部分一样   渲染树

3 个答案:

答案 0 :(得分:3)

如何做到正确:

使用visibility: hidden代替display: none

如下所述:http://www.w3.org/TR/SVG/painting.html#VisibilityProperty

  

当'display'属性设置为none时,则为给定元素   不会成为渲染树的一部分。将“可见性”设置为   然而,隐藏的处理就像元素是其中的一部分一样   渲染树

感谢@SomeKittens

答案 1 :(得分:2)

将其加载到屏幕style="position:absolute;left:100000px"

答案 2 :(得分:2)

如果元素设置为display:none,似乎是SV​​G will not be rendered。可以使用JS单独加载每个元素,如this answer.

所示