使用jQuery的keyPressed,IE8中的EnterKey有时不起作用

Jes*_*ssu 3 jquery internet-explorer-8

在我的HTML CSS中:

.edit_field {
    height: 50px;
    width: 495px;
    line-height: 3.6;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<textarea id="message" class='edit_field'>Enter message here</textarea>
Run Code Online (Sandbox Code Playgroud)

javascrpt:

$('#message').keypress(function(event) {
    // not getting fired this block when I pressed enter key
    // For all other keys its got fired well.
    if(event.which == 13) {
        // -- -- --
     }
});
Run Code Online (Sandbox Code Playgroud)

我的代码或浏览器(IE8)有任何问题吗?

Jer*_*tle 5

试试这个:

$('#message').keyup(function(e){
  if(e.keyCode == 13){
    //your code probably want e.preventDefault() as well
  }
});
Run Code Online (Sandbox Code Playgroud)

我发现按键实现不是那么跨浏览器友好.只是一个想法.

编辑:我现在记得为什么这在IE8中不起作用.输入键(键码13)被认为是"特殊键"(以及其他类似键盘上的箭头键)IE不会触发"特殊键"的按键事件,这就是我必须使用键盘的原因.

您可以在此处找到更多信息:http://www.quirksmode.org/dom/events/keys.html

在"特殊键"下查看