1. ページ A に a.js と b.js を導入します。a.js と b.js の両方を window.onload を使用しても問題ありません。 ただし、ページ B にも a.js と c を導入します。 .js、時々 a.js がまったく実行されないことがあります。しかし、a.js の window.onload にあるものをページ B の c.js の onload に直接入れたところ、再び正しく実行されました。どうしてだろう。何が起こったの? ?
window.onload は 1 回だけ使用されるため、複数の JS が同時に使用すると競合が発生します。 解決策
試してみました。ウィンドウは複数回バインドできますが、有効になるのは最後に限られます。状況を理解するには、以下の 2 つの例を比較してください。
合格window.onload = function() { ... }方法设置的事件,后面的window.onload值会覆盖掉前面的,所以,只有最后一次生效。(这个和调用a = 1; a = 2; a =3;は真実です)
window.onload = function() { ... }
window.onload
a = 1; a = 2; a =3;
必要な場合window的onload事件进行多次绑定,建议使用addEventListener:
window
onload
addEventListener
ID: attachEvent而非addEventListener
attachEvent
addEventListener中用的是'load',而attachEvent中用的是'onload'にも注意してください。
'load'
'onload'
window.onload() メソッドは 1 回のみバインドできます。複数回バインドした場合は、最後のものだけが有効になります
window.onload は最後のもののみを呼び出し、以前のものは上書きされます。
window.onload は 1 回だけ使用されるため、複数の JS が同時に使用すると競合が発生します。
リーリー解決策
試してみました。ウィンドウは複数回バインドできますが、有効になるのは最後に限られます。状況を理解するには、以下の 2 つの例を比較してください。
リーリー合格
window.onload = function() { ... }
方法设置的事件,后面的window.onload
值会覆盖掉前面的,所以,只有最后一次生效。(这个和调用a = 1; a = 2; a =3;
は真実です)必要な場合
window
的onload
事件进行多次绑定,建议使用addEventListener
:ID:
attachEvent
而非addEventListener
addEventListener
中用的是'load'
,而attachEvent
中用的是'onload'
にも注意してください。window.onload() メソッドは 1 回のみバインドできます。複数回バインドした場合は、最後のものだけが有効になります
。window.onload は最後のもののみを呼び出し、以前のものは上書きされます。