jQuery - keydown/keypress/keyup ENTERKEY检测?

ina*_*ina 45 jquery

试图让jQuery检测输入输入,但检测到空格和其他键,未检测到输入.下面有什么问题:

$("#entersomething").keyup(function(e) {
    alert("up");
    var code = (e.keyCode ? e.keyCode : e.which);
    if (code==13) {
        e.preventDefault();
    }

    if (code == 32 || code == 13 || code == 188 || code == 186) {
        $("#displaysomething").html($(this).val());
});

<input id="entersomething" />
<div id="displaysomething"&gt;&lt;/div&gt;
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/zeRrv/

Rus*_*Cam 83

的JavaScript/jQuery的

$("#entersomething").keyup(function(e){ 
    var code = e.which; // recommended to use e.which, it's normalized across browsers
    if(code==13)e.preventDefault();
    if(code==32||code==13||code==188||code==186){
        $("#displaysomething").html($(this).val());
    } // missing closing if brace
});
Run Code Online (Sandbox Code Playgroud)

HTML

<input id="entersomething" type="text" /> <!-- put a type attribute in -->
<div id="displaysomething"></div>
Run Code Online (Sandbox Code Playgroud)


ori*_*dam 5

更新:现在我们有移动和自定义键盘,我们不能继续信任这些任意键代码,例如 13 和 186。换句话说,停止使用event.which/event.keyCode并开始使用event.key

if (event.key === "Enter" || event.key === "ArrowUp" || event.key === "ArrowDown")
Run Code Online (Sandbox Code Playgroud)