18 - Evento blur.


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

<!DOCTYPE html>
<html>

<head>
  <title>Ejemplo de jQuery</title>
  <meta charset="UTF-8">
  <link rel="StyleSheet" href="estilos.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="funciones.js"></script>
</body>

</html>

funciones.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");
}

estilos.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");
}


Retornar