The focusout
event fires when an element has lost focus, after the blur
event. The two events differ in that focusout
bubbles, while blur
does not.
The opposite of focusout
is the focusin
event, which fires when the element has received focus.
The focusout
event is not cancelable.
Use the event name in methods like addEventListener()
.
addEventListener("focusout", (event) => {});
This interface also inherits properties from its parent UIEvent
, and indirectly from Event
.
FocusEvent.relatedTarget
-
The element receiving focus, if any.
HTML
<form id="form">
<label>
Some text:
<input type="text" placeholder="text input" />
</label>
<label>
Password:
<input type="password" placeholder="password" />
</label>
</form>
JavaScript
const form = document.getElementById("form");
form.addEventListener("focusin", (event) => {
event.target.style.background = "pink";
});
form.addEventListener("focusout", (event) => {
event.target.style.background = "";
});
Result
Note: The UI Events specification describes an order of focus events that's different from what current browsers implement.