javascript attacher les évènements
J'ai vu que vous pouvez joindre à des événements comme le
<button type="button" id="myButton" onclick="myFunction()">
pouvez-vous faire la même chose sans le "onclick="
, comme:
document.getElementById('myButton'). //and here attach the event on click to myFunction
J'essaie de tenir le JavaScript et le HTML distinct.
OriginalL'auteur user983124 | 2012-04-26
Vous devez vous connecter pour publier un commentaire.
Il est semblable à la
onclick
approche, et, en fait, utilise le gestionnaire d'événements, mais il est retiré de l'HTML:Si vous n'avez pas de
id
sur l'élément, vous pouvez également utiliser:Une approche alternative, à l'aide de
Array.prototype.forEach()
, avec un tableau d'éléments créés à l'aide deArray.prototype.slice()
etdocument.querySelectorAll()
:Exécute le
yourFunctionName()
fonction pour chaque<input />
élément, detype="text"
, retourné pardocument.querySelectorAll()
passage que<input />
élément dans la fonction quethis
.Vous pouvez également utiliser
addEventListener()
dans ce cas:Et aussi dans cette situation, à l'aide de
document.querySelector()
(par opposition àdocument.querySelectorAll()
), qui retourne le premier élément qui correspond le passé-dans le sélecteur, à l'aide de la notation CSS:Ou:
Références:
Array.le prototype.forEach()
.Array.le prototype.slice()
.document.querySelector()
.document.querySelectorAll()
.EventTarget.la méthode addEventListener()
.Vous êtes les bienvenus; je suis content d'avoir eu de l'aide! =)
OriginalL'auteur David Thomas
Oui, vous pouvez (et devez!).
OriginalL'auteur Anthony Grist
Sûr, il vous suffit de sélectionner votre article et de l'appeler le correspondant fonction de rappel. p.e:
Ou sans la fonction inline:
https://developer.mozilla.org/en/DOM/element.onclick
OriginalL'auteur elboletaire
Quelque chose comme ceci:
OriginalL'auteur Oyeme
OriginalL'auteur Jags
onclick
la valeur de retour demyFunction()
, à moins quemyFunction()
retourne une fonction, ce n'est pas correctcomment parler maintenant...
Vous pouvez en fait tout simplement omettre le
()
voir Anthony Moulin de la réponsemerci @NiftyDude et Anthony Grain à moudre", a appris quelque chose de nouveau
OriginalL'auteur squarephoenix