2013-01-14 51 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调用移动到页面末尾。

相关问题