ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery でロードされたスクリプト タグに対してネイティブの「onload」イベントが発生しないのはなぜですか?

jQuery でロードされたスクリプト タグに対してネイティブの「onload」イベントが発生しないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-02 08:48:02595ブラウズ

Why is the Native `onload` Event Not Firing for Script Tags Loaded with jQuery?

jQuery でロードされたスクリプト タグに対してネイティブ onload イベントが発生しない

一連のスクリプトを特定の順序でロードしようとすると、開発者はネイティブの onload イベントがトリガーされないシナリオが発生します。この問題は、jQuery を使用してスクリプト要素を DOM に追加するときに発生します。

この問題を解決するには、次のコードを変更します。

el.onload = function(script){ ...
el.src = script;

このコード スニペットは、 onloadイベント関数。代わりに、次のように変更する必要があります:

el.onload = function(script){ ...
el.src = script;

さらに、onload イベントをアタッチする前にスクリプト要素が DOM に追加されていることを確認してください:

$body.append(el);
el.onload = function() { ...
el.src = script;

注意が重要です。 IE サポートには Readystate 処理が必要です。あるいは、jQuery の getScript() メソッドを使用することをお勧めします: http://api.jquery.com/jQuery.getScript/.

以上がjQuery でロードされたスクリプト タグに対してネイティブの「onload」イベントが発生しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。