Heim > Artikel > Web-Frontend > Warum sind meine JavaScript-Funktionen nicht in JSFiddle definiert?
Warum JavaScript nicht auf JSFiddle läuft: Funktionsdefinitionsfehler beheben
Beim Versuch, JavaScript-Code auf JSFiddle auszuführen, können Fehler auftreten Dies zeigt an, dass bestimmte Funktionen nicht definiert sind. Dies liegt daran, dass JSFiddle Code in einer Onload-Funktion kapselt und so den Umfang der Funktionsdefinitionen einschränkt.
Funktionsdefinition und Referenzierung
Im bereitgestellten Code sind Funktionen wie fillList( ) und mySelectList() werden innerhalb der Funktion window.onload definiert. Dies bedeutet, dass diese Funktionen nur aus dieser Funktion heraus zugänglich sind. Sie versuchen jedoch, sie als globale Variablen in Ihrem HTML zu referenzieren, was zu den Fehlern führt.
Lösungsoptionen
Um dieses Problem zu beheben, haben Sie drei Möglichkeiten:
a) Funktionen als globale Variablen ändern
<code class="javascript">window.fillList = function() {}; // makes fillList a global function</code>
b) Unauffälliges JavaScript
<code class="javascript">// attach event listener from within JavaScript var mySelectList = document.getElementById('mySelectList'); mySelectList.addEventListener('change', function() { alert('Selection changed!'); });</code>
c) Ändern der JSFiddle-Einstellungen
Empfehlung
Option b) wird dringend empfohlen da es Best Practices und Code-Organisation fördert. Durch die Trennung von HTML und JavaScript erhalten Sie mehr Kontrolle und Flexibilität über Ihren Code.
Das obige ist der detaillierte Inhalt vonWarum sind meine JavaScript-Funktionen nicht in JSFiddle definiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!