2013-01-14 83 views
0

代碼:爲什麼「onload」不能在<circle>元素上工作?

 <circle id="whitecircle" cx="500" cy="500" r="25" fill="url(#grad1)" onclick="setCoordinates(evt)" /> 

這工作得很好。 「setCoordinates(evt)」函數在被點擊時給圓圈一個隨機的位置。

但是,當我用「onload」重放「onclick」時,它只停留在「500,500」。

這是爲什麼?

回答

2

該元素不加載任何外部內容。由於沒有任何要加載的內容,因此它沒有加載事件。

您可以在定義circle元素後立即運行腳本。

<circle ... /> 
<script> function_call() </script> 

(在HTML元素body是一個特殊的情況下,表示當前文檔),僅調度到<svg>元素性能原因

+0

當你說「function_call()」時,你的意思是我在一對腳本標籤中直接輸入「setCoordinates(evt)」嗎? –

+0

除了'evt'位以外,因爲您沒有實際的事件。 (如果函數需要訪問其屬性,則可以用自定義對象替換它) – Quentin

+0

不,對不起,不起作用。你能更具體一點請:/? –

2

在Firefox的onload事件。 Firefox有一個關於不將onload事件分派到<image>元素的bug,但目前只有<svg>元素可以跨瀏覽器工作。

0

我也有這個問題,onload事件。 將您的JavaScript調用移動到頁面末尾。

相關問題