ChromeからEvent.pathが廃止された

はじめに

ChromeからEvent.pathが廃止されたため、以下のコードが動作しなくなりました。

const composedPath = event.path;

回避策

代替として、Event.composedPath()を使用すれば良いようです。

const composedPath = event.composedPath();

ただ、今回は何故かこの方法では空の配列が返ってきてだけで、イベントのパスが取得できませんでしたので、
Event.composedPath()と同等の処理を独自実装する事で回避しました。

composedPath = (event) => {
    const path = [];
    let node = event.target;

    while (node !== null) {
        path.push(node);
        node = node.parentNode;
    }

    return path;
}

未分類

Posted by ababa