javascript - ページで紹介されているすべての js ファイルには window.onload が含まれていますが、場合によっては特定の js ファイルが実行されないことがあります。
習慣沉默
習慣沉默 2017-06-26 10:55:06
0
5
865

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 に直接入れたところ、再び正しく実行されました。どうしてだろう。何が起こったの? ?

習慣沉默
習慣沉默

全員に返信(5)
phpcn_u1582

window.onload は 1 回だけ使用されるため、複数の JS が同時に使用すると競合が発生します。
解決策

リーリー
いいねを押す +0
黄舟

試してみました。ウィンドウは複数回バインドできますが、有効になるのは最後に限られます。状況を理解するには、以下の 2 つの例を比較してください。

リーリー
いいねを押す +0
大家讲道理
  • 合格window.onload = function() { ... }方法设置的事件,后面的window.onload值会覆盖掉前面的,所以,只有最后一次生效。(这个和调用a = 1; a = 2; a =3;は真実です)

  • 必要な場合windowonload事件进行多次绑定,建议使用addEventListener:

リーリー
  • ID: attachEvent而非addEventListener

  • には
を使用してください。 リーリー
  • addEventListener中用的是'load',而attachEvent中用的是'onload'にも注意してください。

いいねを押す +0
世界只因有你

window.onload() メソッドは 1 回のみバインドできます。複数回バインドした場合は、最後のものだけが有効になります

いいねを押す +0
代言

window.onload は最後のもののみを呼び出し、以前のものは上書きされます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!