Maison >interface Web >js tutoriel >La solution à l'objet d'erreur de la console n'est pas une connaissance function_Basic
Un BUG a été signalé aujourd'hui, disant qu'une fonction sur une page ne peut pas être utilisée. Ouvrez la console et recherchez une erreur : l'objet n'est pas une fonction.
Cela semble très étrange. Cette fonction n'a pas été touchée récemment, alors pourquoi pose-t-elle soudainement des problèmes ? Tous les principaux navigateurs ont été testés lors de leur mise en ligne.
Bien que ce soit étrange, cela résout quand même le problème. En regardant le code, j'ai découvert que l'attribut name d'un objet radio a le même nom qu'un nom de fonction. Le code est le suivant :
<body> <input type="radio" name="test" onclick="test();"/> <br/> <form action=""> <input type="radio" name="test" onclick="test();"/> </form> </body> <script type="text/javascript"> function test(){ alert("11"); } </script>
Modification du nom de la fonction et résolution du problème. Mais la cause première n'a pas été trouvée, car le nom de la fonction était comme ça auparavant et pouvait être utilisé normalement. Modifier le code
onclick="alerte(test);"
J'ai découvert que "l'objet HTMLInputElement" est apparu et le navigateur a analysé le test en un objet dom.
Après le test du script, la fonction alert(test); est toujours une fonction.
En regardant la version svn, j'ai découvert que j'avais ajouté un formulaire pour terminer la radio lorsque j'exécutais une autre fonction. Cela provoque des erreurs d'analyse du navigateur.
Résumé : Le code qui n'a pas été modifié n'est peut-être pas un problème. Peut-être que les modifications ont causé d'autres problèmes. Certains problèmes de compatibilité du navigateur sont causés par des irrégularités de code. Vous devrez à l'avenir écrire du code de manière standardisée !
Si un expert sait pourquoi un problème d'analyse du navigateur se produit après l'ajout d'un formulaire, pouvez-vous me le dire. Merci beaucoup!