問題:
onclick 属性、エラー「Uncaught ReferenceError: 関数が定義されていません」
原因:
ユーザー スクリプトは、onclick がターゲット ページのスコープ内で動作する分離環境で実行されます。その結果、onclick はユーザースクリプトで定義された関数にアクセスできません。
解決策:
onclick の使用を避け、代わりに addEventListener() を利用します。例:
emoteTab[2].innerHTML += '<span>
更新コード:
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); }
追加の警告:
以上がOnclick 属性で「キャッチされない参照エラー: 関数が定義されていません」が発生するのはなぜですか? どのように修正すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。