ホームページ > 記事 > ウェブフロントエンド > js window.onloadの複数関数の読み込みと関数の追加について詳しく解説_javascriptスキル
プロジェクトを実行するときに window.onload を使用する必要があることがよくあります。
は次のように使用されます:
function func(){alert("これはウィンドウの onload イベントです!");return;}
window.onload=func;
または次のように:
window.onload=function(){alert("これは window onload イベントです!");return;}
しかし、window.onload は複数の関数を同時にロードすることはできません。
例:
関数 t(){
alert("t")
}
関数 b(){
alert("b")
}
window.onload =t ;
window.onload =b ;
前のコードは後で上書きされ、上記のコードは b のみを出力します。
この問題を解決するには、次のメソッドを使用できます。
window.onload =function() { t(); }
別の解決策は次のとおりです:
//(完全な例) は次のように使用されます:
関数 t(){
alert("t")
}
関数 b(){
alert("b")
}
関数 c(){
alert("c")
}
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
addLoadEvent(t);
addLoadEvent(b);
addLoadEvent(c);
//window.onload =function() { b(); と同等;}
JS window.onload 追加関数:
============関連情報================
attachEvent オブジェクト上でイベントが発生するたびに関数が呼び出されるように、指定された関数をイベントにバインドします。
Internet Explorer 5.0 以降、attachEvent メソッドが提供されています。このメソッドを使用すると、1 つのイベントに複数の処理プロセスを割り当てることができます。 attachEvent は現在の Opera でも機能します。ただし、Mozilla/Firefox はこの方法をサポートしていません。ただし、別の addEventListener メソッドもサポートしています。このメソッドは、attachEvent に似ており、複数のハンドラーをイベントに割り当てるためにも使用されます。ただし、attachEvent メソッドではイベントが「on」で始まりますが、addEventListener ではイベントが「on」で始まりません。また、通常、addEventListener には 3 番目のパラメーターがあります。パラメータは false に指定されています。