Evento em foco
Exemplo
Execute um JavaScript quando um campo de entrada recebe foco:
<input type="text"
onfocus="myFunction()">
Mais exemplos de "Experimente você mesmo" abaixo.
Definição e uso
O evento onfocus ocorre quando um elemento recebe o foco.
O evento onfocus é mais usado com <input>, <select> e <a>.
Dica: O evento onfocus é o oposto do evento onblur .
Dica: O evento onfocus é semelhante ao evento onfocusin . A principal diferença é que o evento onfocus não faz bolhas. Portanto, se você quiser descobrir se um elemento ou seu filho recebe o foco, você pode usar o evento onfocusin. No entanto, você pode conseguir isso usando o parâmetro useCapture opcional do método addEventListener() para o evento onfocus.
Suporte ao navegador
Event | |||||
---|---|---|---|---|---|
onfocus | Yes | Yes | Yes | Yes | Yes |
Sintaxe
Em HTML:
<element onfocus="myScript">
Em JavaScript:
object.onfocus = function(){myScript};
Em JavaScript, usando o método addEventListener():
object.addEventListener("focus", myScript);
Observação: o método addEventListener() não é compatível com o Internet Explorer 8 e versões anteriores.
Detalhes técnicos
Bolhas: | Não |
---|---|
Cancelável: | Não |
Tipo de evento: | FocusEvent |
Tags HTML suportadas: | TODOS os elementos HTML, EXCETO: <base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style> e <title> |
Versão DOM: | Eventos de Nível 2 |
Mais exemplos
Exemplo
Usando "onfocus" junto com o evento "onblur":
<input type="text" onfocus="focusFunction()" onblur="blurFunction()">
Exemplo
Limpar campo de entrada em foco:
<!-- When the input field gets focus, replace its current value with an
empty string -->
<input type="text" onfocus="this.value=''" value="Blabla">
Exemplo
Delegação de eventos: definindo o parâmetro useCapture de addEventListener() como 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>
Exemplo
Delegação de eventos: usando o evento focusin (não suportado pelo 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>