← エラー辞典に戻る

JavaScript

🔇 addEventListenerが発火しない

DOMの読み込み前にイベントを登録している

😰 こんな症状

イベントリスナーを設定したのにクリックしても何も起きない。DOM要素の取得タイミングで起きやすいよ。

🔍 原因

scriptタグがhead内にあり、DOM要素が存在する前にaddEventListenerを実行しているよ。ブラウザはHTMLを上から順に読むから、scriptがheadにあると、bodyの要素がまだ作られていない状態でJSが実行されるんだ。存在しない要素にイベントは登録できないよ。

❌ エラーが起きるコード

// scriptタグがhead内にあり、DOM要素が存在する前にaddEventListenerを実行し

✅ 直し方

1. scriptタグを</body>の直前に移動する。 2. またはscriptタグにdefer属性を付ける。 3. DOMContentLoadedイベント内でリスナーを登録する。 4. console.log(element)でnullが返っていないか確認する。

✅ 修正後のコード

// scriptタグを</body>の直前に移動するか、DOMContentLoadedイベント内でリス

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

JavaScriptコースで基礎から学ぶ →

📝 関連ブログ記事

📖 関連する用語

🚀 JavaScriptコースで基礎を学ぼう!

エラーの原因を根本から理解するには、基礎を体系的に学ぶのが近道です。完全無料・登録不要。

JavaScriptコースを始める →

❓ 関連するQ&A