117. event delegation

JavaScript
お役に立つのか?

少し工夫が必要  - accepted / - tried

Event Delegationとは?

jQuery.on()みたいな関数を作ってください。

jQueryではselectorを使ってelementを特定しているが、ここではシンプルにpredicate関数を使う。

onClick(
  // root element
  document.body,  
  // predicate
  (el) => el.tagName.toLowerCase() === 'div',  
  function(e) {
    console.log(this);
    // this logs all the `div` element
  }
)
  1. event.stopPropagation()event.stopImmediatePropagation() もサポートしてください。

  2. 本当のevent listenerはroot elementに一つだけ登録してください。

10分間以内で解いてみて

ディスカス(16)