El evento de desenfoque ocurre cuando un elemento pierde el foco. El método blur () activa el evento de desenfoque o adjunta una función para que se ejecute cuando ocurre un evento de desenfoque.
Sugerencia: este método se usa a menudo junto con el método focus () .
Ejemplo
Adjunte una función al evento de desenfoque. El evento de desenfoque ocurre cuando el campo <input> pierde el foco:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("input").blur(function(){
alert("Este campo de entrada ha perdido su enfoque.");
});
});
</script>
</head>
<body>Entre su nombre: <input type="text">
<p>Escriba algo en el campo de entrada y luego haga clic fuera del campo para perder el enfoque (desenfoque).</p>
</body>
</html>
El evento blur se dispara cuando pierde el foco el control.
Podemos capturar el evento blur de un control de tipo text, textarea, button, checkbox, fileupload, password, radio, reset y submit.
Para probar su funcionamiento dispondremos dos controles de tipo text con algún contenido. Fijaremos de color azul su fuente. Al tomar foco el control cambiará a color rojo y al perder el foco volverá a color azul.
<!DOCTYPE html> <html> <head> <title>Ejemplo de jQuery</title> <meta charset="UTF-8"> <link rel="StyleSheet" href="estilos18.css" type="text/css"> </head> <body> <form action="#" method="post"> <input type="text" name="text1" id="text1" value="Hola" size="20"> <br> <input type="text" name="text2" id="text2" value="Hola" size="20"> </form> <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script src="func17.js"></script> </body> </html>
func18.js
let x = $(document); x.ready(inicializarEventos); function inicializarEventos() { let x = $("#text1"); x.focus(tomaFoco); x.blur(pierdeFoco); x = $("#text2"); x.focus(tomaFoco); x.blur(pierdeFoco); } function tomaFoco() { let x = $(this); x.css("color", "#f00"); } function pierdeFoco() { let x = $(this); x.css("color", "#00f"); }
estilos18.css
#text1,#text2 { color:#00f; }
En la función inicializarEventos asociamos los eventos focus y blur a los dos controles:
function inicializarEventos() { let x = $("#text1"); x.focus(tomaFoco); x.blur(pierdeFoco); x = $("#text2"); x.focus(tomaFoco); x.blur(pierdeFoco); }
El evento tomaFoco cambia de color a rojo al texto del control seleccionado:
function tomaFoco() { let x = $(this); x.css("color", "#f00"); }
De forma similar pierdeFoco cambia a azul:
function pierdeFoco() { let x = $(this); x.css("color", "#00f"); }