在SVG中捕获集属性事件?

时间:2014-08-29 12:23:56

标签: javascript jquery svg

我有一个包含文本元素的SVG文档。文本不可见,并通过

显示
<set attribute.../> 

如果我点击另一个SVG元素(名为&#34的圈子;播放&#34;)。

<svg>
 ...

<circle  id="play" onclick="document.documentElement.unpauseAnimations()" ... />

<text id="ergsum0" fill="#000000" visibility="hidden" x="10" y="385"      font-size="22">Ergebnis = <tspan fill="#FF0000" font-size="22">1</tspan>
<set attributeName="visibility" from="hidden"  to="visible" begin="play.click"  />

 ...
 </svg>

是否可以通过Java / ECMA Script捕获set属性事件?即如果文本被设置为可见某个事件被触发并触发另一个(JavaScript)函数的调用?

我可以通过JavaScript设置属性,如

var target = document.querySelector(&#39;#ergsum0&#39;); target.setAttribute(&#39;能见度&#39;&#39;真&#39);

并且可以通过MutationObserver捕获它,但我想知道是否通过更改      设置属性...

还会触发一些可以捕获的更改事件。

提前致谢

1 个答案:

答案 0 :(得分:0)

<set>动画完成时应发送一个SMILE endEvent。你可以这样做......

<set attributeName="x" to="0" begin="0s" dur="0.5s" id="a"/>
<set attributeName="fill" attributeType="CSS"
  to="green"
  begin="a.endEvent" dur="4s"/>

或者只是在javascript中添加一个事件监听器来捕获事件。