Heim > Web-Frontend > js-Tutorial > Warum tritt „Uncaught ReferenceError: Funktion ist nicht definiert' bei Onclick-Attributen auf und wie kann ich das beheben?

Warum tritt „Uncaught ReferenceError: Funktion ist nicht definiert' bei Onclick-Attributen auf und wie kann ich das beheben?

Linda Hamilton
Freigeben: 2024-11-27 00:16:11
Original
304 Leute haben es durchsucht

Why Does

„Uncaught ReferenceError: Funktion ist nicht definiert“ mit Onclick-Attribut

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren
var targetSpans = emoteTab[2].querySelectorAll ("span[data-usage]");
for (var J in targetSpans) {
    targetSpans[J].addEventListener ("click", appendEmote, false);
}
Nach dem Login kopieren

Zusätzliche Warnungen:

  • Vermeiden Sie die Verwendung derselben ID für mehrere Elemente (ungültig).
  • Achten Sie darauf, dass die ID verwendet wird innerHTML oder äußereHTML können Ereignishandler auf betroffenen Knoten überschreiben.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage