l'événement onclick pas de travail en JavaScript
J'ai un peu de code JavaScript dans une page HTML avec un bouton. J'ai une fonction appelée 'click ()" qui gère l'événement onClick du bouton. Le code pour le bouton est comme suit:
<input type="button" onClick="click()">button text</input>
Le problème est que lorsque le bouton est cliqué, la fonction n'est pas appelée. Ce que je fais mal ici?
Grâce
- Êtes-vous d'obtenir une erreur dans la console? Vous pouvez poster la fonction de clic. Il fonctionne pour moi ici
- Je pense que vous avez besoin d'un point-virgule après la fonction comme ceci:
<input type="button" onClick="click();">button text</input>
- Essayez...
onclick="javascript:click();"
- onclick déjà assume ses JavaScript. vous ne utilisez javascript:cliquez sur(); si vous étiez un réglage href d'un lien. Également le point-virgule n'est pas nécessaire, à moins qu'une 2ème fonction a été appelée ainsi.
- où avez-vous à déclarer/mettre la souris() la fonction? Est-il dans le droit de la portée?
Vous devez vous connecter pour publier un commentaire.
Deux observations:
Vous devriez écrire
au lieu de
Vous devez renommer votre fonction. La fonction
click()
est déjà défini sur un bouton (il simule un clic), et devient une priorité plus élevée ensuite votre méthode.Noter que il ya un couple de suggestions qui sont simplement faux, et vous ne devriez pas dépenser trop de temps sur eux:
onclick="javascript:myfunc()"
. Utilisez uniquement lejavascript:
préfixe à l'intérieur de lahref
attribut d'un lien hypertexte:<a href="javascript:myfunc()">
.onclick="foo()"
etonclick="foo();"
les deux fonctionnent très bien.onclick
,onClick
etONCLICK
tous les travaux. Il est de pratique courante d'écrire des attributs en minuscules:onclick
. noter que javascript lui-même est sensible à la casse, donc si vous écrivezdocument.getElementById("...").onclick = ...
, puis il doit être en minuscules.$(window).load(function() { ... })
. Cela signifie quetest()
n'est pas accessible dans le monde entier. Si vous modifiez le menu déroulant sur la gauche deonLoad
àNo wrap
alors votre exemple devrait travailler en JSFiddle.cliquez sur() est un mot réservé et déjà une fonction, changer le nom de la souris() pour runclick (), il fonctionne très bien
Essayer cette
Vérifier que vous appelez même fonction ou pas.
Essayer de fixation de la capitalisation.
onclick
au lieu deonClick
Référence: Mozilla Developer Docs
Je vous suggère de faire:
<input type="button" value="button text" onclick="click()">
Espérons que cela vous aide!
J'ai eu le même problème où onclick appels de fonction ne fonctionnent pas. J'avais compris la fonction à l'intérieur de l'habituel "$(document).ready(function(){});" bloc utilisé pour envelopper les scripts jquery. Commentant ce bloc de résoudre le problème.
Oui vous devez modifier le nom de votre fonction. Javascript a réservé des méthodes et des onclick = >>>> cliquez sur() <<<< l'un d'eux est si juste de le renommer, ajouter un " s " à la fin de celui-ci ou quelque chose.
texte fort`
Aujourd'hui, c'est aussi arrivé à moi. Le nom de la fonction peut-être des conflits avec les mots-clés. Mon cas est
scrape()
. - Je changer le nom de la fonction, tout fonctionne bien.