ホームページ >ウェブフロントエンド >jsチュートリアル >電卓のクリア ボタンが機能しないのはなぜですか?

電卓のクリア ボタンが機能しないのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-11 17:18:15936ブラウズ

Why Isn't My Calculator's Clear Button Working?

Clear 関数で onClick イベントが機能しないのはなぜですか?

単純な計算機を作成しようとして、問題が発生しました。ここで、クリア ボタンの onClick 属性はテキスト フィールドをクリアできません。コードにもかかわらず、エラーが継続します。この問題について調べてみましょう。

onClick 属性はインライン イベント ハンドラーを割り当てますが、このイベント ハンドラーは with ステートメントを使用して実装されているため非推奨になりました。内部的には、意図した clear() 関数ではなく document.clear() として実行されます。

解決策:

  1. Clear 関数の名前を変更します: ドキュメントとの競合を避けるために関数名を変更しますobject.
  2. 明示的に Window.Clear(): を呼び出します。clear 関数の前に window を付けます。例: onClick="window.clear()".

ただし、コードをより良く実践するには、インライン属性の代わりに addEventListener を使用してイベント ハンドラーをバインドすることをお勧めします:

document.getElementById("clearButton").addEventListener("click", () => { clear(); });

以上が電卓のクリア ボタンが機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。