我有一个名为index.html的HTML文件,其中包含了一个svg(使用object-tag)和一个js文件(使用脚本标签)。在HTML文件中调用时,js函数都可以很好地工作。 现在,当我想访问我的svg文件中的一个js函数时,我必须链接到我的svg文件中的js文件(使用xlink)。这些函数在svg文件中仍然有效,但是一旦这些函数引用HTML文件中的任何元素(例如document.getElementById('div1')),它们就不再工作了(我的猜测:可能是因为函数不能寻找HTML内部的元素,但在SVG文件内) 我能做些什么来使这些功能再次起作用?SVG和带外部Javascript文件的HTML
1
A
回答
1
您可以使用顶级或父级对象从svg获取到容器html。有一个完整的svg to container html and container html to svg example with extensive comments here。
0
当您将一个JS函数嵌入到SVG中时,它们总是在SVG的私有范围内执行,因此无法访问它以外的任何内容。
当你想创建一个带有动态SVG的交互式Web应用程序时,你应该把JS函数修改成HTML代码中的JavaScript代码。您可以通过获取<object>
元素的.contentDocument
来从嵌入HTML的JavaScript访问SVG文档树。
+0
使用
1
在现代浏览器中,您可以直接将svg直接放置在HTML中,并且JS(和CSS)可以在两者上无缝工作。
<div>
<svg:svg xmlns:svg="www.w3.org/2000/svg" version="1.1" height="100" width="100" viewBox="0 0 100 100">
<svg:circle id="circle" cx="50" x="50" y="50"/>
</svg:svg>
</div>
<script>
document.getElementById("circle").style.fill="red";
</script>
相关问题
- 1. 加载外部SVG文件
- 2. SVG填充外部文件
- 3. 的JavaScript的HTML调用外部文件
- 4. 如何加载外部JavaScript文件中的SVG文件
- 5. Javascript和CSS,内部HTML与外部文件中的对比
- 6. JavaScript,SVG,HTML和CSS
- 7. 触发HTML级与外部JavaScript文件
- 8. 将外部JavaScript文件链接到HTML
- 9. HTML不读取外部JavaScript文件
- 10. 外部Javascript文件到HTML页面
- 11. HTML - 连接外部Javascript文件
- 12. 使用Javascript打印外部HTML文件
- 13. HTML文档内改变的Javascript到外部的Javascript文件
- 14. HTML和HTML中的JavaScript和SVG
- 15. 将包含外部javascript文件的外部html文件加载到div
- 16. 外部JavaScript文件
- 17. Javascript外部文件
- 18. 加载外部SVG文件到变量并附加到html
- 19. 从主html脚本中调用SVG的外部JavaScript函数?
- 20. 外部Javascript文件如何影响HTML文件的DOM?
- 21. svgjs - 加载外部SVG文件
- 22. JavaScript的外部intellisense文件?
- 23. SVG和外部样式表
- 24. html和Svg to Canvas javascript
- 25. 结合SVG,HTML和Javascript
- 26. 把jQuery和JavaScript插入外部文件
- 27. 加载外部HTML文件
- 28. 加载外部SVG并将JavaScript包含到HTML中
- 29. 如何调用存储在外部JavaScript文件从HTML文件
- 30. 如何将外部javascript文件放入我的html文档?
相似问题:http://stackoverflow.com/questions/14274252/combining-svg-html-and-javascript。 –