JS Prototype,捕获空格键代码不受支持?

时间:2011-06-17 16:09:15

标签: javascript prototypejs

function observeingKeys() {
    console.log('watching keys now!');
    $(document).observe('keypress', function(event){
    switch (event.keyCode) {
            case Event.KEY_UP:
                console.log('Up');      
            break;
            case Event.KEY_RIGHT:
                console.log('Right');
            break;
            case Event.KEY_DOWN:
                console.log('Down');
            break;
            case Event.KEY_LEFT:
                console.log('Left');
            break;
            case 32: //Space
                console.log('Space')
            break;
            case 13: //Return
                console.log('Return')
            break;
     }
    });
 }

我们在这里。首先,在原型框架中没有“KEY_SPACE”或类似的东西,因此使用实际的键码是不可避免的。在这种情况下,空间的键码是32。

该代码适用于除空格之外的所有情况。 我错过了一些东西还是不支持?

1 个答案:

答案 0 :(得分:0)

虽然FireFox4将keyCode用于其他键事件,但对于空格键,它将event.keyCode设置为0,但将event.charCode设置为32.

编辑:事实上,对于大多数密钥而言,它使用charCode,但出于某种原因,在一些情况下,例如Enter,它使用keyCode。