onfocus Event

onfocus

Event

Example

Execute a JavaScript when an input field gets focus:

<input type=”text”
onfocus=”myFunction()”>

Try it Yourself »

More “Try it Yourself” examples below.

Definition and Usage

The onfocus event occurs when an element gets focus.

The onfocus event is most often used with <input>, <select>, and <a>.

Tip: The onfocus event is the opposite of the
onblur event.

Tip: The onfocus event is similar to the
onfocusin 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 could
use the onfocusin event. However, you can achieve this by using
the optional useCapture parameter
of the addEventListener()
method for the onfocus event.

Browser Support

Event

onfocus
Yes
Yes
Yes
Yes
Yes

Syntax

In HTML:

<element onfocus=”myScript“>

Try it Yourself »

In JavaScript:

object.onfocus = function(){myScript};

Try it Yourself »

In JavaScript, using the addEventListener() method:

object.addEventListener(“focus”, myScript);

Try it Yourself »

Technical Details

Bubbles:
No

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 “onfocus” together with the “onblur” event:

<input type=”text” onfocus=”focusFunction()” onblur=”blurFunction()”>

Try it Yourself »

Example

Clear input field on focus:

<!– When the input field gets focus, replace its current value with an
empty string –>
<input type=”text” onfocus=”this.value=”” value=”Blabla”>

Try it Yourself »

Example

Event delegation: setting the useCapture parameter of
addEventListener() to true:

<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 (not supported
by Firefox):

<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 »