代碼:爲什麼「onload」不能在<circle>元素上工作?
<circle id="whitecircle" cx="500" cy="500" r="25" fill="url(#grad1)" onclick="setCoordinates(evt)" />
這工作得很好。 「setCoordinates(evt)」函數在被點擊時給圓圈一個隨機的位置。
但是,當我用「onload」重放「onclick」時,它只停留在「500,500」。
這是爲什麼?
代碼:爲什麼「onload」不能在<circle>元素上工作?
<circle id="whitecircle" cx="500" cy="500" r="25" fill="url(#grad1)" onclick="setCoordinates(evt)" />
這工作得很好。 「setCoordinates(evt)」函數在被點擊時給圓圈一個隨機的位置。
但是,當我用「onload」重放「onclick」時,它只停留在「500,500」。
這是爲什麼?
該元素不加載任何外部內容。由於沒有任何要加載的內容,因此它沒有加載事件。
您可以在定義circle元素後立即運行腳本。
<circle ... />
<script> function_call() </script>
(在HTML元素body
是一個特殊的情況下,表示當前文檔),僅調度到<svg>
元素性能原因
在Firefox的onload事件。 Firefox有一個關於不將onload事件分派到<image>
元素的bug,但目前只有<svg>
元素可以跨瀏覽器工作。
我也有這個問題,onload事件。 將您的JavaScript調用移動到頁面末尾。
當你說「function_call()」時,你的意思是我在一對腳本標籤中直接輸入「setCoordinates(evt)」嗎? –
除了'evt'位以外,因爲您沒有實際的事件。 (如果函數需要訪問其屬性,則可以用自定義對象替換它) – Quentin
不,對不起,不起作用。你能更具體一點請:/? –