我有一个包含文本元素的 SVG 文档。文本不可见,通过
变得可见<set attribute.../>
如果我单击另一个 SVG 元素(称为“play”的圆圈)。
<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脚本捕获设置属性事件? IE。如果文本设置为可见,则会触发某些事件并触发另一个(JavaScript)函数的调用?
我可以通过 JavaScript 设置属性,例如
var target = document.querySelector('#ergsum0'); target.setAttribute('可见性','true');
并且可以用 MutationObserver 捕获这个,但我想知道是否通过更改 设置属性...
还会触发一些可以捕获的更改事件。
提前致谢
最佳答案
<set>
动画应发送 SMIL 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 中添加一个 eventListener 来捕获事件。
关于javascript - 在 SVG 中捕获设置属性事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25568231/