La méthode off dans jQuery
La dissociation des événements, attachés via
on,
est effectuée à l'aide de la méthode
off.
En premier paramètre, elle prend le type d'événement
(par exemple, 'click'), et en second - le nom
de la fonction qui doit être détachée.
Examinons l'exemple suivant. Supposons que nous ayons le code HTML :
<ul>
<li>texte</li>
<li>texte</li>
<li>texte</li>
</ul>
En CSS, un style est spécifié pour la balise li :
li {
width: 100px;
cursor: pointer;
}
Faisons en sorte qu'après le premier
clic sur un li, l'événement qui lui est
associé soit détaché :
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Cliquez sur les éléments de la liste. Vous verrez que lors d'un nouveau
clic sur le même élément de la liste, rien ne se passe, car
notre fonction func après l'exécution de la méthode
append
est détachée par la méthode off.
Attachez à tous les liens un événement - lors du
survol du lien, son href est ajouté
entre parenthèses à la fin de son texte.
Après le premier survol du lien,
détachez l'événement qui
ajoute le href à la fin du texte.
Pour toutes les entrées (inputs), faites en sorte qu'elles
affichent leur value lors d'un
clic sur n'importe laquelle d'entre elles, mais seulement lors du
premier clic. Un nouveau clic sur
l'entrée ne doit pas déclencher de réaction.
Des paragraphes avec des nombres sont donnés. Lors d'un clic sur un paragraphe, le carré du nombre qu'il contient doit apparaître dans celui-ci, mais seulement au premier clic. Lors d'un double-clic sur un paragraphe, le nombre dans le paragraphe doit être doublé, mais aussi seulement la première fois.