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