Rumah > hujung hadapan web > tutorial js > Mengapakah \'Uncaught ReferenceError: function is not definition\' Berlaku dengan Atribut Onclick dan Bagaimana Saya Boleh Membetulkannya?

Mengapakah \'Uncaught ReferenceError: function is not definition\' Berlaku dengan Atribut Onclick dan Bagaimana Saya Boleh Membetulkannya?

Linda Hamilton
Lepaskan: 2024-11-27 00:16:11
asal
395 orang telah melayarinya

Why Does

"Uncaught ReferenceRalat: fungsi tidak ditakrifkan" dengan Onclick Attribute

Masalah:

Apabila mengklik butang dengan onclick atribut, ralat "Uncaught ReferenceError: function is not defined" berlaku.

Punca:

Skrip pengguna dijalankan dalam persekitaran terpencil di mana onclick beroperasi dalam skop halaman sasaran. Akibatnya, onclick tidak boleh mengakses fungsi yang ditakrifkan dalam skrip pengguna.

Penyelesaian:

Elakkan menggunakan onclick dan gunakan addEventListener() sebaliknya. Contohnya:

emoteTab[2].innerHTML += '<span>
Salin selepas log masuk

Kod Kemas Kini:

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

Amaran Tambahan:

  • Elakkan menggunakan ID yang sama untuk berbilang elemen (tidak sah).
  • Jadilah berhati-hati bahawa menggunakan innerHTML atau outerHTML boleh menimpa pengendali acara pada nod yang terjejas.

Atas ialah kandungan terperinci Mengapakah \'Uncaught ReferenceError: function is not definition\' Berlaku dengan Atribut Onclick dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan