検索

ホームページ  >  に質問  >  本文

javascript - ページで紹介されているすべての js ファイルには window.onload が含まれていますが、場合によっては特定の js ファイルが実行されないことがあります。

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

習慣沉默習慣沉默2718日前907

全員に返信(5)返信します

  • phpcn_u1582

    phpcn_u15822017-06-26 10:57:06

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

    リーリー

    返事
    0
  • 黄舟

    黄舟2017-06-26 10:57:06

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

    リーリー

    返事
    0
  • 大家讲道理

    大家讲道理2017-06-26 10:57:06

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

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

    リーリー
    • ID: attachEvent而非addEventListener

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

    返事
    0
  • 世界只因有你

    世界只因有你2017-06-26 10:57:06

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

    返事
    0
  • 代言

    代言2017-06-26 10:57:06

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

    返事
    0
  • キャンセル返事