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.

IE

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

Edge

  1. 12 - 84: Supported
  2. 85: Supported

Firefox

  1. 2 - 51: Not supported
  2. 52 - 79: Supported
  3. 80: Supported
  4. 81 - 82: Supported

Chrome

  1. 4 - 14: Support unknown
  2. 15 - 84: Supported
  3. 85: Supported
  4. 86 - 88: Supported

Safari

  1. 3.1 - 5: Support unknown
  2. 5.1 - 13.1: Supported
  3. 14: Supported
  4. TP: Supported

Opera

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

iOS Safari

  1. 3.2 - 4.3: Not supported
  2. 5 - 13.7: Supported
  3. 14.0: Supported

Opera Mini

  1. all: Not supported

Android Browser

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

Blackberry Browser

  1. 7: Supported
  2. 10: Supported

Opera Mobile

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

Chrome for Android

  1. 85: Supported

Firefox for Android

  1. 79: Supported

IE Mobile

  1. 10: Supported
  2. 11: Supported

UC Browser for Android

  1. 12.12: Supported

Samsung Internet

  1. 4 - 11.2: Supported
  2. 12.0: Supported

QQ Browser

  1. 10.4: Supported

Baidu Browser

  1. 7.12: Supported

KaiOS Browser

  1. 2.5: Not 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