[英]Keyboard input for a 'clear all' function on a Javascript calculator
我将此代码用于Javascript计算器上的键盘输入。 所有数字和小数均有效,但“全部清除”无效。 有谁知道为什么? 我使用了错误的ASCII码吗?
//Add keyboard input
$(document).keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode === 49) {
$("#one").click();
} else if (keycode === 50) {
$("#two").click();
} else if (keycode === 51) {
$("#three").click();
} else if (keycode === 52) {
$("#four").click();
} else if (keycode === 53) {
$("#five").click();
} else if (keycode === 54) {
$("#six").click();
} else if (keycode === 55) {
$("#seven").click();
} else if (keycode === 56) {
$("#eight").click();
} else if (keycode === 57) {
$("#nine").click();
} else if (keycode === 48) {
$("#zero").click();
} else if (keycode === 127 || keycode === 08) {
$("#clearall").click();
} else if (keycode === 46 || keycode === 44) {
$("#decimal").click();
}
});
您可以在JSFiddle上找到完整的项目: http : //jsfiddle.net/depauw/XfRDx/我不认为'clearall'函数已损坏。 当我按屏幕上的按钮时,将执行清除所有功能。
我要实现的是:当用户输入错误的号码时,他/她可以通过按Delete键和/或Backspace键将其删除。
我已经尝试用keyup的keydown代替'keypress',但是禁用了键盘输入。 那可能是一个愚蠢的错误,但是我是一个真正的初学者,从世界各地学习教程,示例代码和部分代码!
谢谢您的帮助!,克里斯托夫
问题归结于按键功能。 使用按键功能代替按键。 keyup具有更多处理本机密钥的功能。 请参阅jquery文档。
$(document).keyup(function(event){ /*your stuff is here */ });
检出这些jquery事件之间差异的很好解释
http://howtodoinjava.com/2013/12/20/jquery-keyup-function-demo/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.