Método off en jQuery
Desvincular eventos, vinculados a través de
on,
se realiza utilizando el método
off.
El primer parámetro que acepta es el tipo de evento
(por ejemplo, 'click'), y el segundo - el nombre
de la función que debe desvincularse.
Consideremos el siguiente ejemplo. Supongamos que tenemos el siguiente código HTML:
<ul>
<li>texto</li>
<li>texto</li>
<li>texto</li>
</ul>
En CSS se especifica un estilo para la etiqueta li:
li {
width: 100px;
cursor: pointer;
}
Hagamos que después del primer
clic en li, el evento se
desvincule de ella:
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Haga clic en los elementos de la lista. Verá que al repetir
la pulsación en el mismo elemento de la lista no ocurre nada, ya que
nuestra función func después de ejecutar el método
append
se desvincula mediante el método off.
Vincule a todos los enlaces un evento -
al pasar el cursor sobre el enlace, al final de su texto
se añade su href entre
paréntesis. Después de la primera vez que se pase el cursor sobre el enlace,
debe desvincularse de él el evento que
añade el href al final del texto.
Para todos los inputs, haga que
muestren su value al
pulsar sobre cualquiera de ellos, pero solo en la
primera pulsación. Una segunda pulsación en el
input no debe provocar ninguna reacción.
Se dan párrafos con números. Al hacer clic en un párrafo, debe aparecer en él el cuadrado del número que contiene, pero solo en el primer clic. Al hacer doble clic en el párrafo, el número en el párrafo debe duplicarse, pero también solo la primera vez.