Méthode trigger
La méthode trigger permet de déclencher
tous les gestionnaires d'événements attachés à l'élément
pour les types d'événements spécifiés. Elle appelle
les fonctions de gestionnaire dans l'ordre dans lequel elles
seraient appelées par l'utilisateur.
Si vous souhaitez appeler le gestionnaire d'événements sans
exécuter l'événement par défaut, utilisez la méthode
triggerHandler.
Syntaxe
En tant que premier paramètre, nous pouvons transmettre le type d'événement sous forme de chaîne, le deuxième (facultatif) un tableau ou un objet contenant des paramètres supplémentaires à transmettre au gestionnaire :
$(sélecteur).trigger(type d'événement, [paramètres supplémentaires]);
Il est possible de transmettre en premier paramètre un événement
sous forme d'objet jQuery.Event :
$(sélecteur).trigger(événement, [paramètres supplémentaires]);
Il y a une différence entre la transmission de paramètres
additionnels à la méthode trigger et les données dans la méthode
on. Dans
le premier cas, les données doivent être définies au moment
de l'exécution de l'événement, tandis que dans le second, elles le sont déjà au moment de la liaison
de la fonction de gestionnaire.
Exemple
En cliquant sur le bouton #first, la valeur sera
incrémentée uniquement dans le premier span, en
cliquant sur le bouton #second - dans les deux, tout en
imitant le clic de l'utilisateur sur le premier. La fonction
increase incrémentera de 1 le nombre
qui lui est transmis en tant que paramètre. En utilisant
la méthode trigger, nous forçons le déclenchement
de l'événement de clic également dans le premier span, bien que
nous cliquions sur le bouton #second :
<button id="first">button1</button>
<button id="second">button2</button>
<div><span>0</span></div>
<div><span>0</span></div>
button {
margin: 10px;
}
div {
margin-left: 10px;
font-weight: bold;
}
span {
color: green;
}
$('#first').click(function() {
increase($('span').first());
});
$('#second').click(function() {
$('#first').trigger('click');
increase($('span').last());
});
function increase(str) {
let num = parseInt(str.text(), 10);
num.text(num + 1);
}
Voir aussi
-
méthode
on,
qui permet d'attacher un gestionnaire d'événements à un élément -
méthode
triggerHandler,
qui permet de déclencher tous les gestionnaires d'événements, attachés à l'élément -
objet
event,
qui contient des informations sur l'événement -
méthode
submit,
qui permet d'attacher un gestionnaire à l'événement JavaScript submit ou de déclencher cet événement