我正在尝试将OnClick处理程序添加到嵌入式对象中。处理程序需要执行一个链接到当前HTML文件的外部.js文件中的函数 <script src="....

由于该功能位于其他地方,我是否需要以不同的方式引用该功能?

这是当前所示的代码(它不起作用,但也不会产生任何错误):

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

解决方案

您必须实现OnClick 里面 SVG并使用SVG内的JavaScript链接到外部JavaScript函数。 有关示例,请参见SVG Wiki。

更新:显然SVG Wiki已不再。毫不奇怪,我现在可以(迅速)发现的最佳参考文献本身就在stackoverflow上。

该答案描述了如何在SVG内实现ONCLICK.

其他提示

使用JavaScript绑定(马里奥·孟杰(Mario Menger) 已经回答了)。

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

使用空锚标签 <a href="javascript:someFunc()"></a> 作为点击消费者。将其设置为z索引和位置/大小,以便将其放置在SVG对象(用于跨浏览器兼容性)上。

OnClick都应该是小写。

<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53" 
type="image/svg+xml" onclick="alert('hello!');"/>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top