在IE9中,对于keyup事件,当我使用回车键时“事件”;没有得到,对于其他键我得到keycode值

In IE9, for keyup event When I use the enter key "event" is not getting, for other keys Iam getting keycode values

本文关键字:事件 于其他 keycode 其他 keyup 对于 IE9 回车      更新时间:2023-09-26

当我使用Enter键时,alert("kcode=="+e.which)的kcode未定义,并且if条件未在IE9中执行。

在HTML

<input type="text" id="test"/>
在JS

$(document).ready(function(){
    $("#test").keyup(function(e){
        var kcode = e.which || e.keyCode;
       alert("kcode=="+e.which);
        if (kcode == 13){
            alert("in if");
        }
    });
})

似乎IE有一些特殊的键,按下时不会触发'keyup'。我发现这种行为在IE11的"keyup"。相反,我使用了"按键",效果很好。我还发现了其他互联网帖子,提到了IE和其他关键事件的类似情况。这是其中之一希望这篇文章能帮助大家解决IE的问题:)

可能需要使用window。事件。你可以试试我设置的这个:

http://jsfiddle.net/ytphedvg/

我在IE9中测试过,效果很好。

JS

$(document).ready(function(){
    $("#test").keyup(function(e){
        var ev = e || window.event;
        var kcode = ev.which || ev.keyCode;
        alert("kcode=="+ev.which);
        if (kcode == 13){
            alert("in if");
        }
    });
});