0

我试图弄清楚按键何时是空白,所以我做了以下事情:

 if (e.which == ' '){

 }

但是这不起作用。知道为什么吗?

4

3 回答 3

6

event.which返回按下的字符的代码。space关键代码是32,因此请改用它:

if (e.which === 32) {
    //
}

另一种方法是将字符转换为字符代码.charCodeAt()

if (e.which === " ".charCodeAt(0)) {
    //
}

检查: http: //www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

于 2013-05-15T13:18:40.607 回答
4

编写测试代码并提醒 keyCode 是什么。

document.onkeypress = function(e) { 
    e = e || window.event;
    console.log(e.keyCode || e.which); 
};

学习调试,你就不会问这些简单的问题。

jQuery本来是

$(document).keypress( 
    function (e) { 
        console.log(e.which); 
    }
);
于 2013-05-15T13:18:54.720 回答
0

可能这就是您要查找的内容:(假设您使用 keydown 事件。)

if(e.keyCode == '32') {
    // Your code
}

jsFiddle:http: //jsfiddle.net/DeHFL/

于 2013-05-15T13:22:59.060 回答