搜尋

首頁  >  問答  >  主體

javascript - js的按鍵的鍵值減去一個數字,怎麼就變成了NaN了

這是程式碼和瀏覽器截圖,第一個是number 第二個也是number 但是第三個就是NaN了
我想要取得一個組合鍵,像是Alt 1…Alt 9 然後讓鍵值減去一個數,對應select的option的值
但是一直報NaN

#
$(function(){
    $(document).keydown(function(event){
        if(event.keyCode <=57 && event.keyCode >= 49 && event.altKey){
            var selectval = (event.keyCode - 48);
            console.log(typeof(event.keyCode));
            console.log(typeof(selectval));
            console.log(selectval);
        }
    });
})

#
为情所困为情所困2744 天前690

全部回覆(6)我來回復

  • PHP中文网

    PHP中文网2017-05-19 10:32:37

    回覆
    0
  • 世界只因有你

    世界只因有你2017-05-19 10:32:37

    雷雷

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:32:37

    用原生寫的沒啥毛病啊

    document.addEventListener('keydown',function(event){
        if(event.keyCode <=57 && event.keyCode >= 49 && event.altKey){
                var selectval = (event.keyCode - 48);
                console.log(typeof(event.keyCode));
                console.log(typeof(selectval));
                console.log(selectval);
            }
    },false);

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-19 10:32:37

    用event.ctrlKey,event.shiftKey,event.altKey判斷是否按下了ctrl鍵、shift鍵以及alt鍵

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:32:37

    換了幾個環境,終於出現這種情況,都是谷歌最高版本,不知道怎麼有幾台電腦就不會undefined

    新變數接收的keyCode 為undefined ;
    至於為什麼我暫未搞懂,麻煩哪位大神解釋一下其中的機制

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:32:37

    jQuery的話,幫你做了相容處理的,請用 event.which代替event.keyCode.

    不用jQuery:

    // 获取用户单击键盘的“键值”
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

    回覆
    0
  • 取消回覆