Javascript:将键盘输入添加到计算器

标签 javascript jquery html css

昨天开始了一个制作计算器的小元素。我认为它完全可以工作,但我想更进一步并添加键盘输入(就像您可以在出厂默认操作系统计算器上一样)

我在这里找到了答案,但它是针对 C# 的。

所以:

如何在 JavaScript 中添加键盘输入?这将包括 0-9、所有运算符、“C”清除和“删除”/“esc”删除最后一个条目。

理想情况下,我希望我确实发生了 css 悬停效果(较暗的阴影)
当点击键时也是如此。

您可以在此处查看开始: http://codepen.io/apswak/pen/RapEqp

index.html

<div id="calculator">
  <div id="screen">
    <div id="calc">0</div>
    <div id="result">0</div>
  </div>
  <button class="value">1</button><button class="value">2</button><button class="value">3</button><button class="value">+</button><button class="value">4</button><button class="value">5</button><button class="value">6</button><button class="value">-</button><button class="value">7</button><button class="value">8</button><button class="value">9</button><button class="value">*</button><button class="value">.</button><button class="value">0</button><button class="CE">   &larr;</button><button class="value">/</button><button class="equals">=</button><button class="C">C</button>

</div>

脚本.js

$(document).ready(function() {

  var string = "";

  /* Calculator input string */
  $(".value").click(function() {
    string += $(this).text();
    $("#calc").text(string);
  });

  /* Clear all */
  $(".C").click(function() {
    string = "";
    $("#calc, #result").text("0");
  });
  /* Clear last entry */
  $(".CE").click(function() {
    string = string.slice(0, string.length - 1);
    $("#calc").text(string);
  });

  /* Show result */
  $(".equals").click(function() {
    $("#result").text(eval(string));
  });

});

最佳答案

这是一个在您的 codePen 示例中使用按键功能的示例:

http://codepen.io/anon/pen/WwjNao

   document.onkeypress = function (e) {
        keyPressed = String.fromCharCode(e.which);        
        if($("#calc").length > 0){
          $("#calc").append(keyPressed);
        }else{
          $("#calc").text(keyPressed);
        }
    };

这是一个提示,我不会给你所有的代码;)

关于Javascript:将键盘输入添加到计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36158726/

相关文章:

javascript - 在 ng-repeat 循环中仅显示某些 html 元素的最佳方法是什么

javascript - 如何将数组的数组合并到一个数组中(在 JavaScript 中)?

javascript - 当我滚动时在标题上添加平滑过渡

javascript - 如何根据对象或 iframe 内容的长度动态更改其长度

jquery - 当鼠标悬停在可拖动元素上时,.hover 不起作用

javascript - 与用 span 包围选择的函数相反

html - 如何在 capybara 中向键发送向下箭头

javascript - jQuery Mobile + Flexslider2

javascript - 为无序列表 <ul> 中的特定 <li> 元素设置样式

JavaScript 数组映射不适用于 addClass