javascript - 在 SVG 中捕获设置属性事件?

标签 javascript jquery svg

我有一个包含文本元素的 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/

相关文章:

angularjs - 如何使 AngularJS 事件在 SVG 节点中兼容?

javascript - 访问控制允许来源不允许 AJAX 来源 null

javascript - 在 WebView 中加载 HTML 文件后执行 JavaScript 指令

jQuery 循环遍历表单元素并选择特定的 id

PHP 不会返回响应

javascript - 将 Hammer.js 触摸手势与 jQuery SVG 缩放库集成

javascript - 将 React 与工具创建的 SVG 一起使用

javascript - 在 React 中禁用 `&lt;input type=number>` 上的滚动

javascript - Jquery菜单: default active DIV container

javascript - 如何使用最小和最大属性添加和减去输入值。查询