由于浏览器兼容问题,鼠标点击想获得MouseEvent打印出来是PointerEvent,而MouseEvent包含目标节点的dom路径path,PointerEvent中没有。这时利用PointerEvent的parentNode封装成path以供使用:
const upAdapter = (e) => {
if (e.path) { return e.path; }
// 不存在则遍历target节点
let target = e.target;
let path = [];
while (target.parentNode !== null) {
path.push(target)
target = target.parentNode
}
// 最后补上document和window
path.push(document, window);
console.log("path",path);
return path;
}