Maison  >  Article  >  interface Web  >  Pourquoi mon code JavaScript ne fonctionne-t-il pas sur JSFiddle.net ?

Pourquoi mon code JavaScript ne fonctionne-t-il pas sur JSFiddle.net ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-31 22:38:28820parcourir

Why is My JavaScript Code Not Working on JSFiddle.net?

JavaScript ne fonctionne pas sur JSFiddle.net

Le code fourni fonctionne sur un site en direct mais ne parvient pas à s'exécuter sur JSFiddle.net, générant des erreurs tels que "ReferenceError : fillList n'est pas défini" et "ReferenceError : mySelectList n'est pas défini."

Explication :

L'erreur se produit car les fonctions référencées dans le code HTML ("fillList()" et "findIt()") sont définis dans la fonction "window.onload". Dans ce contexte, ces fonctions ne sont accessibles qu'au sein de la fonction onload et ne peuvent pas être référencées en tant que variables globales.

Solution :

Pour résoudre ce problème, vous avez trois options :

  1. Modifier la définition de fonction :

    • Modifier les définitions de fonction de "function blah(){}" à "window.blah = fonction(){};". Cela rend les fonctions globales et accessibles depuis le HTML.
  2. JavaScript discret :

    • Séparez le JavaScript du HTML. et attachez des gestionnaires d'événements aux éléments DOM uniquement via JavaScript. Cela élimine le recours aux fonctions globales.
  3. Ajustez les paramètres JSFiddle :

    • Modifiez les paramètres JSFiddle sur "pas de retour à la ligne". (corps ou tête)", ce qui empêche JSFiddle d'enfermer le code dans une fonction window.onload.

Recommandation :

L'option b (JavaScript discret) est l'approche recommandée car elle suit les meilleures pratiques pour séparer le HTML de la logique. Cela favorise la maintenabilité et améliore la réutilisabilité du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn