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.
pagina1.html
<html> <head> <title>Problema</title> <link rel="StyleSheet" href="estilos.css" type="text/css"> <script type="text/javascript" src="../jquery.js"></script> <script type="text/javascript" src="funciones.js"></script> </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> </body> </html>
funciones.js
var x;
x=$(document);
x.ready(inicializarEventos);
function inicializarEventos()
{
var x=$("#text1");
x.focus(tomaFoco);
x.blur(pierdeFoco);
x=$("#text2");
x.focus(tomaFoco);
x.blur(pierdeFoco);
}
function tomaFoco()
{
var x=$(this);
x.css("color","#f00");
}
function pierdeFoco()
{
var x=$(this);
x.css("color","#00f");
}
estilos.css
#text1,#text2 {
color:#00f;
}
En la función inicializar eventos asociamos los eventos focus y blur a los dos controles:
function inicializarEventos()
{
var 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()
{
var x=$(this);
x.css("color","#f00");
}
De forma similar pierdeFoco cambia a azul:
function pierdeFoco()
{
var x=$(this);
x.css("color","#00f");
}