在項目開發中遇到須要獲取觸發事件元素冒泡過程的全部元素,在Chrome中能夠經過event.path獲取。html
element.onClick(event) { const ev = window.event || event; const path = ev.path; }
該屬性在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] }