1

コード:

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

これは完全にうまく機能します。「setCoordinates(evt)」関数は、クリックしたときに円にランダムな位置を与えます。

しかし、「onload」で「onclick」を再生すると、「500,500」のままです。

どうしてこれなの?

4

3 に答える 3

3

要素は外部コンテンツをロードしていません。ロードするものがないため、ロードイベントはありません。

円要素を定義した直後にスクリプトを実行できます。

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

(HTMLbody要素は特殊なケースであり、現在のドキュメントを表します)

于 2013-01-14T16:31:19.183 に答える
2

<svg>Firefox では、パフォーマンス上の理由から、onload イベントは要素にのみディスパッチされます。Firefox には、onload イベントを<image>要素にディスパッチしないという既存のバグがありますが、現時点では<svg>要素のみがクロスブラウザーで動作します。

于 2013-01-14T16:33:38.380 に答える
0

onload イベントでもこの問題が発生することがあります。JavaScript 呼び出しをページの最後に移動します。

于 2013-01-14T16:33:48.643 に答える