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

时间:2011-12-19 23:51:31

标签: jquery firefox 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();
        }

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

此外:

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

1 个答案:

答案 0 :(得分:4)

阅读本文。 IE不会触发那些特殊键的按键。也许它与其他一些浏览器一样。

Javascript e.keyCode doesn't catch Backspace/Del in IE