簡體   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