focusin & focusout events

- WD

The focusin and focusout events fire just before the element gains or loses focus, and they bubble. By contrast, the focus and blur events fire after the focus has shifted, and don't bubble.

Chrome

  1. 4 - 14: Support unknown
  2. 15 - 130: Supported
  3. 131: Supported
  4. 132 - 134: Supported

Edge

  1. 12 - 130: Supported
  2. 131: Supported

Safari

  1. 3.1 - 5: Support unknown
  2. 5.1 - 18.0: Supported
  3. 18.1: Supported
  4. 18.2 - TP: Supported

Firefox

  1. 2 - 51: Not supported
  2. 52 - 131: Supported
  3. 132: Supported
  4. 133 - 135: Supported

Opera

  1. 9 - 10.6: Not supported
  2. 11 - 11.5: Support unknown
  3. 11.6 - 113: Supported
  4. 114: Supported

IE

  1. 5.5: Not supported
  2. 6 - 10: Supported
  3. 11: Supported

Chrome for Android

  1. 131: Supported

Safari on iOS

  1. 3.2 - 4.3: Not supported
  2. 5 - 18.0: Supported
  3. 18.1: Supported
  4. 18.2: Supported

Samsung Internet

  1. 4 - 25: Supported
  2. 26: Supported

Opera Mini

  1. all: Not supported

Opera Mobile

  1. 10: Not supported
  2. 11 - 11.5: Support unknown
  3. 12 - 12.1: Supported
  4. 80: Supported

UC Browser for Android

  1. 15.5: Supported

Android Browser

  1. 2.1 - 2.3: Not supported
  2. 3: Support unknown
  3. 4 - 4.4.4: Supported
  4. 131: Supported

Firefox for Android

  1. 132: Supported

QQ Browser

  1. 14.9: Supported

Baidu Browser

  1. 13.52: Supported

KaiOS Browser

  1. 2.5: Not supported
  2. 3: Supported

In browsers that don't support these events, one alternative is to use a capture phase event listener for the focus and/or blur events.

Resources:
Mozilla Bug 687787 - Add support for DOM3 focusin/focusout
MDN Web Docs - focusin
MDN Web Docs - focusout