💡 An editor is ready below the article—experiment freely!

Updated: 2026年5月31日

Dom Event Delegation

Original task (JA): イベントデリゲーション

📌

Conclusion

Dom Event Delegation — free browser-based JavaScript (DOM) practice

■ What this exercise teaches idが「list」の要素のクリックイベントをリッスンし、クリックされたliのtextContentをconsole.logで出力してください。

Why it matters in real projects

親でリッスンして、e.targetで実際にクリックされた子を判定します。 Similar patterns appear daily in code review and production UI work.

Step-by-step workflow

1. Read the guide and understand the goal of "Dom Event Delegation" 2. Review the JavaScript (DOM) editor pane and start from the starter code 3. Open hints if stuck; compare your diff with the sample solution 4. Click Run and inspect preview/console output 5. Auto-check looks for output containing: addEventListener, target, LI. 6. After success, continue with adjacent exercises in the same category

Core concept explained

親でリッスンして、e.targetで実際にクリックされた子を判定します。

Technical focus

Key JavaScript APIs: document.getElementById, console.log, addEventListener.

Hint before you peek at the solution

e.targetでクリックされた要素を取得。tagNameでliか判定

Sample solution walkthrough

JavaScript APIs used: document.getElementById, console.log, addEventListener. Verify spelling and async/await usage. Explanation: 親でリッスンして、e.targetで実際にクリックされた子を判定します。 Hint recap: e.targetでクリックされた要素を取得。tagNameでliか判定

Solution code

📝 Sample code
document.getElementById('list')?.addEventListener('click', (e) => {
  if (e.target?.tagName === 'LI') console.log(e.target.textContent);
});

Common mistakes for this exact task

・Skipping the hint: e.targetでクリックされた要素を取得。tagNameでliか判定 ・getElementById returns null if the id string differs by even one character

Troubleshooting

Q: Preview does not change after Run A: Ensure you edited the JavaScript (DOM) pane and clicked Run. Q: Looks correct but check fails A: Auto-check looks for output containing: addEventListener, target, LI. Look for typos, full-width spaces, or unclosed tags. Q: Console shows errors A: Open DevTools Console and fix bracket/quote mismatches at the reported line. Q: Hard to type on mobile A: Use landscape mode or continue on desktop—the same URL keeps progress in localStorage.

Interview / portfolio tips

・Explain the techniques in "Dom Event Delegation" in your own words within 30 seconds ・Practice walking through each line of the sample solution on a whiteboard ・Connect this task to a real component you would ship ・Mention responsive or accessibility trade-offs ・Describe when you use: document.getElementById, console.log, addEventListener

What to do after you pass

Move to the next exercise in the dom track, then continue the learning roadmap at /en/learning/js-basic/.

Keywords

Free hands-on exercise covering イベントデリゲーション, dom, 中級, document.getElementById, console.log, addEventListener, dom event delegation—search-friendly guide for Dom Event Delegation.

🧪 Try it here — safe to break things

Use the editor below to write code and preview instantly.

Jump to editor

■ Exercise task

idが「list」の要素のクリックイベントをリッスンし、クリックされたliのtextContentをconsole.logで出力してください。

Hint if stuck

e.targetでクリックされた要素を取得。tagNameでliか判定

25pt

イベントデリゲーション

idがlistの要素のクリックイベントをリッスンし、クリックされたliのtextContentをconsole.logで出力してください。

エラーをクリックで該当行をハイライト。✕=エラー ⚠=警告 ›=ログ。

Roadmap · All guides

Deep dive

"Dom Event Delegation" is a 中級-level JavaScript (DOM) exercise. idが「list」の要素のクリックイベントをリッスンし、クリックされたliのtextContentをconsole.logで出力してください。 Run it in-browser with automatic checking.

親でリッスンして、e.targetで実際にクリックされた子を判定します。 Similar patterns appear daily in code review and production UI work.

Pair this with the js-basic roadmap. Exercise #62 reinforces core dom skills.

Step-by-step workflow

  1. Read the guide and understand the goal of "Dom Event Delegation"
  2. Review the JavaScript (DOM) editor pane and start from the starter code
  3. Open hints if stuck; compare your diff with the sample solution
  4. Click Run and inspect preview/console output
  5. Auto-check looks for output containing: addEventListener, target, LI.
  6. After success, continue with adjacent exercises in the same category

How to read the sample solution

JavaScript APIs used: document.getElementById, console.log, addEventListener. Verify spelling and async/await usage. Explanation: 親でリッスンして、e.targetで実際にクリックされた子を判定します。 Hint recap: e.targetでクリックされた要素を取得。tagNameでliか判定

Real-world & career relevance

DOM APIs power clicks, forms, and modals—from jQuery era to modern SPAs.

Common mistakes

  • Skipping the hint: e.targetでクリックされた要素を取得。tagNameでliか判定
  • getElementById returns null if the id string differs by even one character
  • Typo in getElementById
  • Using onClick instead of addEventListener
  • Setting textContent without null check

Troubleshooting

Preview does not change after Run
Ensure you edited the JavaScript (DOM) pane and clicked Run.
Looks correct but check fails
Auto-check looks for output containing: addEventListener, target, LI. Look for typos, full-width spaces, or unclosed tags.
Console shows errors
Open DevTools Console and fix bracket/quote mismatches at the reported line.
Hard to type on mobile
Use landscape mode or continue on desktop—the same URL keeps progress in localStorage.

Interview & portfolio tips

  • Explain the techniques in "Dom Event Delegation" in your own words within 30 seconds
  • Practice walking through each line of the sample solution on a whiteboard
  • Connect this task to a real component you would ship
  • Mention responsive or accessibility trade-offs
  • Describe when you use: document.getElementById, console.log, addEventListener

Glossary

DOM
Document Object Model—tree API for HTML.
getElementById
Fetch one element by id.
addEventListener
Register click and other events.

Keywords covered on this page

Free hands-on exercise covering イベントデリゲーション, dom, 中級, document.getElementById, console.log, addEventListener, dom event delegation—search-friendly guide for Dom Event Delegation.

Related dev tools

Learning roadmap

Learning roadmap →

Related exercises

Frequently asked questions

Is "イベントデリゲーション" free?

This exercise is free and runs entirely in your browser. No account or credit card required.

Difficulty and time?

"イベントデリゲーション" is level "中級". Read the guide first; beginners can usually finish within 30 minutes. Allow 5–15 minutes per exercise. Use hints, then the solution if stuck.

What after a correct answer?

After a correct answer, use "Next exercise". When you finish a category, continue on the learning roadmap.

Works on mobile?

Works on mobile browsers, but typing code is easier on a desktop.

Where are other exercises?

All exercises: /en/learn/ with category filters.

Key takeaway for "イベントデリゲーション"?

親でリッスンして、e.targetで実際にクリックされた子を判定します。 Hint: e.targetでクリックされた要素を取得。tagNameでliか判定

Where does dom fit?

DOM APIs power clicks, forms, and modals—from jQuery era to modern SPAs.

Step-by-step for "Dom Event Delegation"?

1. Read the guide and understand the goal of "Dom Event Delegation"
2. Review the JavaScript (DOM) editor pane and start from the starter code
3. Open hints if stuck; compare your diff with the sample solution
4. Click Run and inspect preview/console output
5. Auto-check looks for output containing: addEventListener, target, LI.
6. After success, continue with adjacent exercises in the same category

How to read the sample solution?

JavaScript APIs used: document.getElementById, console.log, addEventListener. Verify spelling and async/await usage.

Explanation: 親でリッスンして、e.targetで実際にクリックされた子を判定します。

Hint recap: e.targetでクリックされた要素を取得。tagNameでliか判定

Something is not working?

Preview does not change after Run → Ensure you edited the JavaScript (DOM) pane and clicked Run.
Looks correct but check fails → Auto-check looks for output containing: addEventListener, target, LI. Look for typos, full-width spaces, or unclosed tags.
Console shows errors → Open DevTools Console and fix bracket/quote mismatches at the reported line.
Hard to type on mobile → Use landscape mode or continue on desktop—the same URL keeps progress in localStorage.

Career / interview angle?

Explain the techniques in "Dom Event Delegation" in your own words within 30 seconds Practice walking through each line of the sample solution on a whiteboard Connect this task to a real component you would ship Mention responsive or accessibility trade-offs Describe when you use: document.getElementById, console.log, addEventListener

Can I change the starter code?

Yes—if it works. Understanding the starter first, then adding minimal diffs, speeds up learning.

What do the points mean?

25pt is a difficulty hint, not a score you must maximize.