onfocusinСобытие

事件对象参考手册Объект Event

Примеры

Выполнить JavaScript, когда поле ввода вот-вот получит фокус:

<input type="text" onfocusin="myFunction()">

Попробуйте сами »

Дополнительные примеры приведены в конце этой главы.


Определение и использование

Событие onfocusin срабатывает, когда элемент вот-вот получит фокус.

Совет:Событие onfocusin похоже на событиеonfocus. Основное различие состоит в том, что событие onfocus не поддерживает всплытие. Поэтому, если вы хотите узнать, получил ли фокус элемент или его дочерние элементы, необходимо использовать событие onfocusin.

Совет:Хотя Firefox не поддерживает событие onfocusin, вы можете использовать событиеonfocus(необязательный параметр метода addEventListener()useCapture) событие слушателя с захватом, чтобы увидеть, получил ли фокус элемент или его дочерние элементы.

Совет:Противоположное событие для onfocusin — это событиеonfocusout.


Поддержка браузеров

Event
onfocusin Да Да Не поддерживается Да Да

Примечание:В браузерах Chrome, Safari и Opera 15+ событие onfocusin, использующее синтаксис HTML DOM, может работать неправильно. Однако как HTML-элемент оно правильно работает при использовании метода addEventListener().


Синтаксис

В HTML:

<element onfocusin="myScript">Попробуйте сами

В JavaScript (может работать неправильно в Chrome, Safari и Opera 15+):

object.onfocusin=function(){myScript};Попробуйте сами

В JavaScript с использованием метода addEventListener():

object.addEventListener("focusin", myScript);Попробуйте сами

Примечание:Internet Explorer 8 и более ранние версии IE не поддерживают методaddEventListener().


Технические детали

Всплывает: Да
Отменяемое: Нет
Тип события: FocusEvent
Поддерживаемые HTML-теги: Все HTML-элементы, кроме: <>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style> и <title>


Examples

Другие примеры

Пример

Используйте события "onfocusin" и "onfocusout" вместе:

<input type="text" onfocusin="focusFunction()" onfocusout="blurFunction()">

Попробуйте сами »

Пример

Делегирование событий: установите параметр addEventListener()useCaptureв 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>

Попробуйте сами »

Пример

Делегирование событий: используйте событие focusin (не поддерживается в 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>

Попробуйте сами »


事件对象参考手册Объект Event

Другие расширения