在Chrome和Firefox上捕捉Backspace是不同的

Mus*_*afa 5 firefox jquery google-chrome keypress backspace

我正在尝试创建一个类似于应用程序的控制台,所以我正在捕捉窗口上的所有按键并与它们做相关的事情(不重要).问题在于退格.我有以下代码:

$(window).bind("keypress",function(e){
        var code = e.keyCode || e.which;
        if ( code == 8) {
            a = $("#console").html();
            $("#console").html(a.substring(0,a.length-1));
            currentCommand = currentCommand.substring(0,currentCommand.length-1);           
            e.preventDefault();
        }
Run Code Online (Sandbox Code Playgroud)

但是,在Firefox中,该内容已#console被删除,但Chrome不会执行上述代码.我需要一个跨浏览器兼容的解决方案.我错过了什么?

加成:

如果我使用keydown/keyup而不是keypress,我无法检测characeter是'A'还是'a'它总是返回'A'.

Tys*_*Tys 4

读这个。IE 不会触发这些特殊键的按键。也许其他一些浏览器也是如此。

Javascript e.keyCode 无法捕获 IE 中的 Backspace/Del