ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で「onclick='clear()'」が機能しないのはなぜですか?
基本的な電卓を作成しようとすると、不可解な問題に遭遇します。 onclick="clear()" 属性が割り当てられた「」ボタンが、テキストをクリアするという意図した機能を実行できません。
謎は、onclick などの JavaScript の組み込みイベント属性の中にあります。これらの属性では with ステートメントを使用しますが、混乱と互換性の問題が発生する可能性があるため、この方法はお勧めできません。その結果、onclick="clear()" 属性により、意図したグローバル関数 clear() ではなく document.clear() が誤って呼び出されます。
この問題を解決するには、clear 関数の名前を変更するか、ウィンドウを明示的に呼び出します。クリア()。ただし、より優れた解決策は、イベント バインディングに addEventListener を使用し、組み込みイベント属性の使用を回避することです。
次のコード サンプルは、addEventListener を使用した適切な実装を示しています。
<script> const clearButton = document.querySelector('input[value="C"]'); clearButton.addEventListener('click', clear); function clear() { document.getElementById("field").value = ""; } </script>
以上がJavaScript で「onclick='clear()'」が機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。