为什么“onload”不能在<circle>元素上工作?</circle>

时间:2013-01-14 16:28:45

标签: javascript function svg onclick onload

代码:

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

这非常有效。 “setCoordinates(evt)”函数在单击时为圆圈提供随机位置。

但是,当我用“onload”重播“onclick”时,它只会停留在“500,500”。

为什么会这样?

3 个答案:

答案 0 :(得分:3)

该元素未加载任何外部内容。由于无需加载任何内容,因此没有加载事件。

您可以在定义圆形元素后立即运行脚本。

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

(HTML body元素是一种特殊情况,代表当前文档)

答案 1 :(得分:2)

由于性能原因,Firefox onload事件仅被分派到<svg>个元素。 Firefox有一个关于不向<image>元素调度onload事件的错误,但目前只有<svg>个元素可以跨浏览器工作。

答案 2 :(得分:0)

我有时也会遇到onload事件。 将您的javascript调用移至页面末尾。