Element: focusin event

Baseline
Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

The focusin event fires when an element has received focus, after the focus event. The two events differ in that focusin bubbles, while focus does not.

The opposite of focusin is the focusout event, which fires when the element has lost focus.

The focusin event is not cancelable.

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

js
addEventListener("focusin", (event) => { })

onfocusin = (event) => { }

Event type

A FocusEvent. Inherits from UIEvent and Event.

Event UIEvent FocusEvent

Examples

Live example

HTML

html
<form id="form">
  <label>
    Some text:
    <input type="text" placeholder="text input" />
  </label>
  <label>
    Password:
    <input type="password" placeholder="password" />
  </label>
</form>

JavaScript

js
const form = document.getElementById("form");

form.addEventListener("focusin", (event) => {
  event.target.style.background = "pink";
});

form.addEventListener("focusout", (event) => {
  event.target.style.background = "";
});

Result

Specifications

Specification
UI Events
# event-type-focusin

Note: The UI Events specification describes an order of focus events that's different from what current browsers implement.

Browser compatibility

See also