Javascript:为计算器添加键盘输入
Javascript: Add keyboard input to calculator
昨天开始了一个制作计算器的小项目。我认为它完全可以工作,但我想更进一步,添加键盘输入(就像你可以在工厂默认的操作系统计算器上一样)
我在这里找到了一个答案,但它是针对C#的。
因此:
如何在JavaScript中添加键盘输入?这将包括0-9、所有运算符、"0";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"> ←</button><button class="value">/</button><button class="equals">=</button><button class="C">C</button>
</div>
script.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));
});
});
下面是一个在代码上具有按键功能的示例Pen示例:
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);
}
};
这是一个提示,我不会给你所有的代码;)
我在代码笔的副本中为您介绍了一些基本数字
您必须监听按键并将按键(event.wich)与它应该触发的事件相匹配。
$(document).keypress(function(event){
console.log(event.which);
//0
if(event.which == 48){
string += 0;
$("#calc").text(string);
}
});
http://codepen.io/anon/pen/LNyYJM
此外,如果你做0123+5,它会说它等于88,所以你可能想把它记为一个bug。
您可以使用按键https://api.jquery.com/keypress/并收听正在按下哪个键。
密钥代码:https://css-tricks.com/snippets/javascript/javascript-keycodes/
$( "#target" ).keypress(function( event ) {
if ( event.which == 48 ) {
// Return #0
}
if ( event.which == 49 ) {
// Return #1
}
// and so on...
});
相关文章:
- 将键盘输入保存到变量中
- 如何创建一个在JavaScript中执行与键盘输入相同事件的按钮
- 限制键盘输入
- 触发数字键盘输入文本所有移动设备
- 每当我按下输入框内的键盘输入按钮(其中有文本)时,都会出现新的段落
- Javascript:为计算器添加键盘输入
- JavaScript 在没有提交按钮的情况下提交,通过键盘输入
- 如何自动检测键盘输入和自动聚焦以输入并使用js或jquery将其输入到输入中
- 键盘输入
- 在键盘输入期间,在每 n 个字符后放置破折号
- 全屏捕获键盘输入似乎不起作用
- 音色.js键盘输入似乎不起作用
- JavaScript 如何检测键盘输入
- document.onkeydown 键盘输入仅大写
- 单击键盘输入上的指定事件:向上、向下、向左、向右
- 在 D3 中筛选 CSV 的多行.js并更新键盘输入的筛选器
- 输入上的键盘输入按钮
- 如何只允许数字在 texbox 中,但也允许使用法语键盘输入
- 我可以使用 Jquery UI 日期选择器来更改键盘输入日期的格式吗?
- 用html键盘输入