Existe-t-il un moyen d'utiliser l' onclick
attribut html pour appeler plusieurs fonctions JavaScript?
241
Existe-t-il un moyen d'utiliser l' onclick
attribut html pour appeler plusieurs fonctions JavaScript?
Réponses:
Mais vraiment, il vaut mieux ne pas utiliser
onclick
du tout et attacher le gestionnaire d'événements au nœud DOM via votre code Javascript. Ceci est connu sous le nom de javascript discret .la source
onclick=""
pasonClick=""
. C'est une erreur très courante.jsx
pashtml
et cette question n'a pas été taguée avecjsx
Un lien avec 1 fonction définie
Lancer plusieurs fonctions depuis
someFunc()
la source
Ceci est le code requis si vous utilisez uniquement JavaScript et non jQuery
la source
J'utiliserais la
element.addEventListener
méthode pour le lier à une fonction. À partir de cette fonction, vous pouvez appeler plusieurs fonctions.L'avantage que je vois en liant un événement à une seule fonction puis en appelant plusieurs fonctions est que vous pouvez effectuer une vérification d'erreur, avoir des instructions if else afin que certaines fonctions ne soient appelées que si certains critères sont remplis.
la source
Bien sûr, liez simplement plusieurs auditeurs.
Short cutting with jQuery
la source
ES6 React
la source
Vous pouvez réaliser / appeler un événement avec une ou plusieurs méthodes.
la source
Vous pouvez ajouter plusieurs uniquement par code, même si vous avez le deuxième
onclick
attribut en html, il est ignoré etclick2 triggered
n'est jamais imprimé, vous pouvez en ajouter un lors de l'actionmousedown
mais ce n'est qu'une solution de contournement.Donc, le mieux est de les ajouter par code comme dans:
Vous devez faire attention car les événements peuvent s'accumuler et si vous ajoutez de nombreux événements, vous pouvez perdre le compte de l'ordre dans lequel ils sont exécutés.
la source
Un ajout, pour JavaScript maintenable, utilise une fonction nommée.
Voici l'exemple de la fonction anonyme:
Mais imaginez que vous en avez quelques-uns attachés au même élément et que vous souhaitez supprimer l'un d'entre eux. Il n'est pas possible de supprimer une seule fonction anonyme de cet écouteur d'événements.
À la place, vous pouvez utiliser des fonctions nommées:
Cela rend également votre code beaucoup plus facile à lire et à maintenir. Surtout si votre fonction est plus grande.
la source
Vous pouvez composer toutes les fonctions en une seule et les appeler. Les bibliothèques comme Ramdajs ont une fonction pour composer plusieurs fonctions en une seule.
ou vous pouvez mettre la composition comme une fonction séparée dans le fichier js et l'appeler
la source
C'est une alternative à brad anser - vous pouvez utiliser la virgule comme suit
cependant il vaut mieux NE PAS utiliser cette approche - pour les petits projets, vous ne pouvez utiliser onclick qu'en cas d'appel d'une fonction (plus: javascript discret mis à jour ).
Afficher l'extrait de code
la source