2010-07-01 57 views
6

我想添加一个嵌入式对象的onClick处理程序。该处理程序需要执行一个函数,该函数位于通过<script src="...链接到当前html文件的外部.js文件中。如何将JavaScript onClick处理程序添加到嵌入的html对象?

由于它位于别处,我是否需要引用不同的函数?

下面是代码,因为它目前为(不工作,也不会产生任何错误):你有

<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53" 
type="image/svg+xml" onClick="buttonEvent('buttonClicked')"/> 
+0

难道你不能只是在主容器的svg onclick中调用脚本吗? – mplungjan 2010-07-01 09:04:12

+0

可能的重复[使用onclick可以点击一个svg图像对象,避免绝对定位](http://stackoverflow.com/questions/2296097/making-an-svg-image-object-clickable-with-onclick-avoiding-absolute定位) – jtbandes 2014-08-10 23:00:45

回答

8

实施的onclick 的SVG并将其链接到外部在svg里面使用JavaScript的JavaScript函数。 有关示例,请参阅SVG wiki。

更新:显然SVG维基不再。毫不奇怪,我现在可以(快速)找到的最佳参考是在StackOverflow本身。

This answer describes how to implement onclick inside the svg

+0

谢谢。我已将onclick放置在svg形状本身内,但是现在找不到它正在寻找的功能。大概是因为它在外部.js文件中? – 2010-07-01 09:19:26

+0

你是如何从你的SVG调用外部函数的?你是否用'top.'或'parent.'作为前缀? – 2010-07-01 09:22:08

+0

我已经简单地添加onclick =“buttonEvent()”(测试后,警报,哪些工作)。我应该在什么前缀和地点? – 2010-07-01 09:24:29

1

使用JavaScript绑定(Mario Menger已回答)。

如果您不能或不会使用绑定,您可以用什么xil3回答一个修改:

使用空锚标记<a href="javascript:someFunc()"></a>作为点击消费。将它设置为z-index和位置/大小,以便它位于svg对象上(用于跨浏览器兼容性)。

0

Onclick应该都是小写字母。

<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53" 
type="image/svg+xml" onclick="alert('hello!');"/> 
+1

我不认为这有效。 – wkm 2012-02-06 22:04:13

相关问题