2010-07-01 56 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

相關問題