suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Wie kommt es, dass der Schlüsselwert eines JS-Schlüssels minus einer Zahl NaN wird?

Dies ist der Code- und Browser-Screenshot. Der erste ist eine Zahl, der zweite ist ebenfalls eine Zahl, aber der dritte ist NaN.
Ich möchte eine Tastenkombination erhalten, z. B. Alt+1...Alt+9 und Subtrahieren Sie dann eins vom Schlüsselwert Number, entsprechend dem Wert der Option von select
, es wird jedoch immer NaN

angezeigt
$(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);
        }
    });
})

为情所困为情所困2775 Tage vor703

Antworte allen(6)Ich werde antworten

  • PHP中文网

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

    Antwort
    0
  • 世界只因有你

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

    var selectval = (event.KeyCode - 48); => var selectval = (event.keyCode - 48);
    
    是KeyCode还是keyCode?

    Antwort
    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);

    Antwort
    0
  • 伊谢尔伦

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

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

    Antwort
    0
  • 过去多啦不再A梦

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

    换了几个环境,终于出现这种情况,都是谷歌最高版本,不知道怎么有几台电脑就不会undefined

    新变量接收的keyCode 为undefined ;
    至于为什么我暂未搞懂,麻烦哪位大神解释一下其中的机制

    Antwort
    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;

    Antwort
    0
  • StornierenAntwort