2

objectページにSVGグラフィックを含むタグがあります。

<object data="graphics.svg" type="image/svg+xml" id="graphics" />

svgファイルを完全にロードする必要があるコードを実行したいと思います。したがって、jQueryを使用して次のように記述します。

$('#graphics').load(function() {
    // some code
})

そして、ネイティブJavaScriptを使用して:

$('#graphics')[0].addEventListener('load', function() {
    // some code
});

これで、2番目のスニペットは機能し、最初のスニペットは機能しません。ここで何が恋しいですか?タグは別の動作を提供すると思いembedましたが、違いはないようです。

4

2 に答える 2

2

jQueryドキュメントから:

画像で使用する場合のloadイベントの警告.load()ショートカットを使用して開発者が解決しようとする一般的な課題は、画像(または画像のコレクション)が完全に読み込まれたときに関数を実行することです。これには、注意すべきいくつかの既知の警告があります。これらは:

  • 一貫して動作せず、クロスブラウザでも確実に動作しません

  • 画像のsrcが以前と同じsrcに設定されている場合、WebKitでは正しく起動しません

  • DOMツリーを正しくバブルアップしません

  • ブラウザのキャッシュにすでに存在する画像の起動を停止できます

と:

ロードイベントは、要素とすべてのサブ要素が完全にロードされたときに要素に送信されます。このイベントは、URLに関連付けられている任意の要素(画像、スクリプト、フレーム、iframe、ウィンドウオブジェクト)に送信できます。

于 2013-01-17T13:15:18.997 に答える
-1

そのようなことを試してください

var element = $("<object/>");
    element.load(function () {
)};
于 2013-01-17T13:09:17.820 に答える