Problem:
Beim Klicken auf eine Schaltfläche mit einem onclick-Attribut, der Fehler „Uncaught ReferenceError: Funktion ist nicht definiert“ tritt auf.
Ursache:
Benutzerskripte werden in einer isolierten Umgebung ausgeführt, in der onclick innerhalb des Bereichs der Zielseite ausgeführt wird. Folglich kann onclick nicht auf im Benutzerskript definierte Funktionen zugreifen.
Lösung:
Vermeiden Sie die Verwendung von onclick und verwenden Sie stattdessen addEventListener(). Zum Beispiel:
emoteTab[2].innerHTML += '<span>
Aktualisierter Code:
for (i = 0; i < EmoteURLLines.length; i++) { if (checkIMG (EmoteURLLines[i])) { localStorage.setItem ("nameEmotes", JSON.stringify (EmoteNameLines)); localStorage.setItem ("urlEmotes", JSON.stringify (EmoteURLLines)); localStorage.setItem ("usageEmotes", JSON.stringify (EmoteUsageLines)); if (i == 0) { console.log (resetSlot ()); } emoteTab[2].innerHTML += '<span>
var targetSpans = emoteTab[2].querySelectorAll ("span[data-usage]"); for (var J in targetSpans) { targetSpans[J].addEventListener ("click", appendEmote, false); }
Zusätzliche Warnungen:
Das obige ist der detaillierte Inhalt vonWarum tritt „Uncaught ReferenceError: Funktion ist nicht definiert' bei Onclick-Attributen auf und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!