FireFox和Safari兼容event.path

在項目開發中遇到須要獲取觸發事件元素冒泡過程的全部元素,在Chrome中能夠經過event.path獲取。html

element.onClick(event) {
  const ev = window.event || event;
  const path = ev.path;
}

clipboard.png

該屬性在Chrome和Opera瀏覽器下沒問題,可是在Firefox和Safari中發現event並無path屬性。 進過查找資料發現,在瀏覽器新的標準裏定義的composedPath能夠獲取瀏覽器

element.onClick(event) {
  const ev = window.event || event;
  const path = event.path || (event.composedPath && event.composedPath());
  console.log(path)  //[button#btn, div, body, html, document, Window]
}
相關文章
相關標籤/搜索