Je veux attacher une fonction à un élément d'entrée dans le fichier javascript mais cela ne fonctionne pas comme je le souhaite, veuillez suggérer la syntaxe correcte ou toute autre solution et je ne veux pas utiliser la méthode html en ligne comme <input type="text" id="name" onfocus="hello()">. Voici le violon,

document.getElementById("name").onfocus = hello();
function hello () {
    alert("hello");
}
<input type="text" id="name">

Je veux que la fonction soit exécutée lorsque l'élément d'entrée obtient le focus, mais ici, la fonction s'exécute immédiatement après le chargement de la page. S'il vous plaît, je veux du javascript pur, pas de jquery.

-1
rayees 8 mars 2016 à 18:51

4 réponses

Meilleure réponse
function hello () {
    alert("hello");
}
document.getElementById("name").onfocus = hello;
-1
wong2 8 mars 2016 à 16:02

D'abord, la fonction bonjour doit être définie avant de la définir comme fonction à utiliser pour l'événement.

Deuxièmement, vous devez supprimer les crochets du nom de la fonction lorsque vous le définissez comme fonction onfocus. Vous donnez une référence à la fonction, à utiliser plus tard, sans l'exécuter là-bas.

Par conséquent, cela devrait fonctionner:

function hello () { alert("hello"); } document.getElementById("name").onfocus = hello;

0
ADyson 8 mars 2016 à 16:11

Attachez l'écouteur d'événements à la place

  document.getElementById("name").addEventListener("focus", function(){
   alert('Hello')
});
<input type="text" id="name">
3
Fredrik Norling 8 mars 2016 à 16:01
document.getElementById("name").addEventListener("focus", function(){alert('test')}, false);
0
Oscar Bout 8 mars 2016 à 16:06