• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQueryで電卓を作っているのですが)

jQueryで電卓を作成する際の不具合

このQ&Aのポイント
  • 引き算をすると二週目の計算に不具合が生じてしまいます。
  • さらに次の計算を行うと負の値になってしまいます。
  • また、かけ算の場合は2週目の計算結果が0になってしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.1

演算が行われる度に イベントリスナが Ans.click(function(){ で登録されているからです 新しいイベントリスナを登録しても 古いのが消えたりはしません どんどん溜まっていき、1回のクリックでいくつも呼ばれることになります その結果 1番目に呼ばれたイベントリスナで reply_02 = leftFml_02 - rightFml_02; が例えば 30 - 10 で reply_02 に20が入りinputZが20になります 次は inputZがrightFml_02になり、leftFml_02 は nullになっているので null - 20 で inputZが-20になります もしイベントリスナが3つ登録されていれば さらに null - -20 となって 20に 4つならば また-20になります こういった現象がおきています 簡単なのは unbind("click") を全ての Ans.click(function(){ の前において イベントリスナをクリアすることです

shodan
質問者

お礼

回答ありがとうございます。 まだ勉強不足でイベントリスナというものを知らないので全ては理解できませんが それは自分で調べるとして 未熟な僕でもだいたいは分かるくらい丁寧に回答して頂いてることは分かりましたし 原因を教えていただけたので何倍も調べやすくなりました。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A