繁体   English   中英

键盘输入,可在Javascript计算器上实现“全部清除”功能

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM