微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – SVG:文档加载后运行脚本

我有一个SVG文档,我希望能够在其中包含一个脚本(使用< script>标记).在这个脚本中,我想设置一个函数,当文档加载并可以进行操作时将调用函数.

如果我用HTMLJQuery做这个,我只需要使用$(document).ready(…).我希望在SVG文档中做同样的事情,但显然我不能以同样的方式使用JQuery.

总之,我正在寻找的是:

test.svg:

<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
    <script type="text/ecmascript" xlink:href="myscript.js" />

    <!-- Rest of SVG body goes here -->
</svg>

myscript.js:

function init(evt) {
    var svgDocument = evt.target.ownerDocument;
    var svgRoot = svgDocument.documentElement;
    // Manipulate SVG DOM here
}

// --> Somehow attach init() function to onload event of SVG <--

我想尝试在脚本中执行此操作,而不是依赖于SVG定义中的显式onload =“init()”. (我想编写一个可能包含在几个SVG中的脚本,而不需要知道脚本是如何工作的.)

解决方法

这是一个例子
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg" onload='init(evt)'>
<script type="text/ecmascript">
function init(evt) {
var svgDocument = evt.target.ownerDocument;
var svgRoot = svgDocument.documentElement;
// Do whatever you like on svgRoot to manipulate your SVG DOM
}
</script>
</svg>

原文地址:https://www.jb51.cc/js/153115.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐