ホームページ >ウェブフロントエンド >jsチュートリアル >ユーザースクリプトの onclick 属性により「キャッチされない参照エラー: 関数が定義されていません」が発生するのはなぜですか?
ユーザースクリプトで、onclick 属性を介して関数を呼び出そうとすると、キャッチされない参照エラー: 関数はありません定義されています。
関数がスクリプトで定義されている従来の onclick 属性の動作は、サンドボックス メカニズムによりユーザー スクリプトでは機能しません。
この問題を解決するには、onclick の代わりに常に addEventListener() を使用してください。
onclick 属性を次のものに置き換えます:
document.getElementById("ElementID").addEventListener("click", functionName, false);
DOM 上書きとイベント ハンドラー
innerHTML または externalHTML を使用して DOM を上書きしないでください既存のイベント ハンドラーを削除するため、要素を複数回実行します。
一意の ID
各要素に一意の ID があることを確認します。 ID を再利用すると検証の問題が発生します。
このコードでは、onclick 属性が addEventListener() に置き換えられ、DOM 上書きの問題が解決されました。
for (i = 0; i < EmoteURLLines.length; i++) { if (checkIMG (EmoteURLLines[i])) { emoteTab[2].innerHTML += '<span>
以上がユーザースクリプトの onclick 属性により「キャッチされない参照エラー: 関数が定義されていません」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。