The focusin event fires when an element is about to receive focus. The main difference between this event and focus is that focusin bubbles while focus does not.

The opposite of focusin is focusout.

Bubbles Yes
Cancelable No
Interface FocusEvent
Event handler property onfocusin
Sync / Async Sync
Composed Yes


Live example


<form id="form">
  <input type="text" placeholder="text input">
  <input type="password" placeholder="password">


const form = document.getElementById('form');

form.addEventListener('focusin', (event) => { = 'pink';    

form.addEventListener('focusout', (event) => { = '';    



Specification Status Comment
UI Events Working Draft Added info that this event is composed.
Document Object Model (DOM) Level 3 Events Specification Obsolete Initial definition

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) 52 (52) (Yes) (Yes) (Yes)
Feature Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) 52.0 (52) (Yes) ? (Yes)

See also

Document Tags and Contributors

Last updated by: mdnwebdocs-bot,