linkedom icon indicating copy to clipboard operation
linkedom copied to clipboard

Event `target` not reflected correctly for `defaultView`

Open jed opened this issue 11 months ago • 6 comments

Running this (in nodejs v20.18.1):

import { parseHTML } from "linkedom";
const { document, window } = parseHTML();

for (let name of ["document", "window"]) {
  window[name].addEventListener("test", (e) =>
    console.assert(e.target === window[name], `${name} preserves target`)
  );
  window[name].dispatchEvent(new window.Event("test"));
}

logs this:

Assertion failed: window preserves target

It seems that the target set for events dispatched from defaultView ends up being globalThis, not defaultView.

jed avatar Feb 07 '25 00:02 jed