Element: focusin event

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) => {
  event.target.style.background = 'pink';    

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



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

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
focusin eventChrome Full support YesEdge Full support 12Firefox Full support 52IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 52Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes


Full support  
Full support

See also