2016-07-14 4 views
0

Dans l'un de mes projets, l'événement onmousedown ne semblait pas faire quoi que ce soit lorsqu'il devait déclencher une fonction dans un fichier JavaScript séparé. J'ai essayé d'incorporer à la fois onmousedown et onClick sur un bouton dans un petit fichier de test pour voir si c'était juste un problème dans le projet, et cela n'a pas fonctionné non plus, me menant à croire que je dois faire quelque chose de mal ...L'événement onmousedown ne semble pas déclencher

Voici mon fichier test.html:

<!DOCTYPE html> 
<html> 
    <body> 
    <button onmousedown="click()">Click</button> 
    <span id="testSpan"></span> 

    <script type="text/javascript" src="main.js"></script> 
    </body> 
</html> 

Et voici mon fichier main.js:

function click() { 
    document.getElementById("testSpan").innerHTML = "SUCCESS"; 
} 

Pour expliquer, le bouton HTML est censé déclencher la fonction click() dans main.js, puis faire apparaître "SUCCESS" à travers l'élément span à côté du bouton dans la page Web; ce qui n'est pas pour moi.

J'ai essayé de faire de même dans un stylo sur codepen.io où il ne semblait pas fonctionner non plus. Encore plus bizarre, c'est le fait que je n'ai aucune erreur à signaler ... qu'est-ce qui me manque?

+0

connexes http://stackoverflow.com/questions/4388443/javascript-function-name-cannot-set -as-click –

+0

Merci, en raison de ma recherche de problèmes liés à 'onmousedown', je n'ai pas vu ce problème/solution . –

Répondre

1

Cela ne fonctionne pas parce que vous avez nommé votre fonction 'click'. J'ai changé le nom en 'press' et votre code fonctionne bien!

function press() { 
 
    document.getElementById("testSpan").innerHTML = "SUCCESS"; 
 
}
<!DOCTYPE html> 
 
<html> 
 
    <body> 
 
    <button onmousedown="press()">Click</button> 
 
    <span id="testSpan"></span> 
 

 
    <script type="text/javascript" src="main.js"></script> 
 
    </body> 
 
</html>

+0

Merci! Je vais jeter un oeil à la documentation JavaScript pour connaître ces "mots réservés" pour référence future. –

0

Essayez:

<!DOCTYPE html> 
 
<html> 
 
    <body> 
 
    <button onmousedown="window.click()">Click</button> 
 
    <span id="testSpan"></span> 
 

 
    <script> 
 
      function click() { 
 
     document.getElementById("testSpan").innerHTML = "SUCCESS"; 
 
    } 
 
     </script> 
 
    </body> 
 
</html>

+0

C'est une autre façon de le faire, merci. –