Javascript e.keyCode在IE中没有捕获Backspace/Del

ind*_*ama 19 javascript jquery internet-explorer keypress

我正试图用这种代码使用javascript/jQuery来捕捉Backspace和Delete键的紧急事件.

$("textarea[name=txt]").keypress(function(e){
    var keycode =  e.keyCode ? e.keyCode : e.which;

    if(keycode == 8){ // backspace
        // do somethiing
        alert(keycode);
    }

    if(keycode == 46){ // delete
        // do somethiing
        alert(keycode);
    } 

});
Run Code Online (Sandbox Code Playgroud)

这些代码行在Firefox(3.6.12)中完美运行.这意味着按下Backspace或Delete时会弹出警报.但这在Internet Explorer中不起作用(8)

任何人都可以建议我以不同的方式在Internet Explorer中捕获这些关键的新闻事件吗?

gbl*_*zex 25

如果你想支持IE并且使用特殊键(比如deletebackspace),我建议使用keydown/ keyup代替.

特殊钥匙

资源管理器不会 为delete,end,enter,escape,功能键,home,insert,pageUp/Down和tab激活按键事件.

如果你需要检测这些密钥,请自己帮忙并搜索他们的keyCode onkeydown/up,并忽略onkeypress和charCode.

您可以阅读有关检测击键 (Quirksmode)的跨浏览器问题的更多信息.