THE WORLD'S LARGEST WEB DEVELOPER SITE

onfocusin Event

❮ Event Object

Example

Execute a JavaScript when an input field is about to get focus:

<input type="text" onfocusin="myFunction()">
Try it Yourself »

More "Try it Yourself" examples below.


Definition and Usage

The onfocusin event occurs when an element is about to get focus.

Tip: The onfocusin event is similar to the onfocus event. The main difference is that the onfocus event does not bubble. Therefore, if you want to find out whether an element or its child gets the focus, you should use the onfocusin event.

Tip: Although Firefox does not support the onfocusin event, you can find out whether a child of an element gets the focus or not, by using a capturing listener for the onfocus event (using the optional useCapture parameter of the addEventListener() method).

Tip: The onfocusin event is the opposite of the onfocusout event.


Browser Support

The numbers in the table specify the first browser version that fully supports the event.

Event
onfocusin Yes Yes 52.0 Yes Yes

Note: The onfocusin event may not work as expected in Chrome, Safari and Opera 15+ using the JavaScript HTML DOM syntax. However, it should work as an HTML attribute and by using the addEventListener() method (See syntax examples below).



Syntax

In HTML:

<element onfocusin="myScript">
Try it Yourself »

In JavaScript (may not work as expected in Chrome, Safari and Opera 15+):

object.onfocusin = function(){myScript};
Try it Yourself »

In JavaScript, using the addEventListener() method:

object.addEventListener("focusin", myScript);
Try it Yourself »

Note: The addEventListener() method is not supported in Internet Explorer 8 and earlier versions.


Technical Details

Bubbles: Yes
Cancelable: No
Event type: FocusEvent
Supported HTML tags: ALL HTML elements, EXCEPT: <base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, and <title>
DOM Version: Level 2 Events

More Examples

Example

Using "onfocusin" together with the "onfocusout" event:

<input type="text" onfocusin="focusFunction()" onfocusout="blurFunction()">
Try it Yourself »

Example

Event delegation: setting the useCapture parameter of addEventListener() to true (for focus and blur):

<form id="myForm">
  <input type="text" id="myInput">
</form>

<script>
var x = document.getElementById("myForm");
x.addEventListener("focus", myFocusFunction, true);
x.addEventListener("blur", myBlurFunction, true);

function myFocusFunction() {
    document.getElementById("myInput").style.backgroundColor = "yellow";
}

function myBlurFunction() {
    document.getElementById("myInput").style.backgroundColor = "";
}
</script>
Try it Yourself »

Example

Event delegation: using the focusin event:

<form id="myForm">
  <input type="text" id="myInput">
</form>

<script>
var x = document.getElementById("myForm");
x.addEventListener("focusin", myFocusFunction);
x.addEventListener("focusout", myBlurFunction);

function myFocusFunction() {
    document.getElementById("myInput").style.backgroundColor = "yellow";
}

function myBlurFunction() {
    document.getElementById("myInput").style.backgroundColor = "";
}
</script>
Try it Yourself »

❮ Event Object