top | item 42174868

(no title)

G1N | 1 year ago

Based on the other replies here it seems like it's to differentiate taps vs mouse clicks, keyboard events in js don't have a screenX or screenY property (you can run this in your browser console on this HN post to confirm):

  (() => {
    const logEvent = event => console.log({
      coords: [event.screenX, event.screenY],
      type: event.type
    });
    const input = document.querySelector("textarea");
    // use "keydown" instead of "keypress" to detect all keyboard input instead of just character producing input 
    input.addEventListener("keydown", logEvent);
    input.addEventListener("click", logEvent);
  })();
Type in or click on the reply text input and you'll see that the coords array is undefined for all keyboard events. I haven't tried this equivalent on a touch device however, so not sure how it's handled there.

discuss

order

No comments yet.