从svg文件中的onmouse事件调用javascript函数

时间:2014-03-19 13:19:00

标签: javascript svg call

我有一个包含此内容的svg文件...

<text transform="matrix(1 0 0 1 162.7803 192.52)" font-family="'Helvetica'" font-size="11">30</text>

如果我修改了那个字符串,那么它就像是能够调用JavaScript函数......

<text transform="matrix(1 0 0 1 162.7803 192.52)" onmouseover="MyJavascriptFunction('u32');return true" font-family="'Helvetica'" font-size="11">30</text>

那么可以在与svg文件相同的页面上调用那个JavaScript吗? 我已经尝试了但它不起作用,我唯一能做的就是像这样的简单警报..

<text transform="matrix(1 0 0 1 162.7803 192.52)" onmouseover="alert('Hello from JavaScript!')" font-family="'Helvetica'" font-size="11">30</text>

svg文件显示如下......

<embed src="myfile.svg"/>

这根本不可能,还是我做错了?

1 个答案:

答案 0 :(得分:0)

我在这里做了一个简单的测试用例:http://test.progysm.com/svg/myfile.htm svg文件调用myfile.htm中定义的MyJavascriptFunction 来自myfile.svg中的onmouseover事件。

您需要使用的只是对html窗口的引用。我使用“顶部”,也许你也可以使用“父”:

<t onmouseover="top.MyJavascriptFunction('u32');return true">...</t>

mytest.htm中的我的脚本:

<script type="text/javascript">
function MyJavascriptFunction(s) {
  console.log(s);
}
</script>

SVG具有以下属性:xmlns,width,height和viewport。