JS原型,不支持捕获空格键代码

JS Prototype, capturing spacebar keycode unsupported?

本文关键字:空格键 代码 不支持 原型 JS      更新时间:2023-09-26
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。

该代码适用于除空格以外的所有情况。我是错过了什么,还是只是没有得到支持?

当FireFox4对其他关键事件使用keyCode时,对于空格栏,它将event.keyCode设置为0,但将event.charCode设置为32。

编辑:事实上,对于大多数键,它似乎使用charCode,但出于某种原因,对于少数键,如Enter,它使用keyCode。