Javascript 检查文本框中是否按了enter键

Javascript 检查文本框中是否按了enter键,javascript,jquery,html,Javascript,Jquery,Html,我使用下面的代码来检查文本框中是否按了enter键,但我得到了 类型错误类型错误:e未定义 <html lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>demo</title> <script src="//ajax.googleapis.

我使用下面的代码来检查文本框中是否按了enter键,但我得到了 类型错误类型错误:e未定义

<html lang="en">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <title>demo</title>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <script>
function memSort(e){        
        if(e.keyCode === 13){
            alert("Enter was pressed ");
        }       
}
</script>
    </head>
    <body>  
        <div class="searchBox">
            <div class="keyname">Keyword : </div>          
            <input name="usersearch" id="usersearch" type="text" value="" onKeydown="memSort();"/>
            <div id="listOrders"></div>
        </div>
    </body>
</html>

演示
函数memSort(e){
如果(如keyCode===13){
警报(“按下回车键”);
}       
}
关键词:

调用JavaScript函数时需要传递
事件
对象,如下所示:

<input name="usersearch" id="usersearch" type="text" value="" onKeydown="memSort(event);"/>

我看到您正在代码中使用jQuery。那么,为什么不利用同样的方法进行不引人注目的事件处理呢

$("usersearch").on("keydown", function(e) {
    if(e.keyCode === 13){
    ...
    }
});
或者,如果只是使用Javascript,则传递事件对象参数:

onkeypress="memSort(event);"
但是,应该避免使用内联处理程序。

试试这个

<input name="usersearch" id="usersearch" type="text" value="" onkeypress="memSort(event);"/>

function memSort(e){
 var key=e.keyCode || e.which;
  if (key==13){
     alert("Enter was pressed ");
  }
}

函数memSort(e){
var key=e.keyCode | | e.which;
如果(键==13){
警报(“按下回车键”);
}
}

调用函数时,必须传递
事件
对象

试试这个:

HTML代码

<div class="searchBox">
    <div class="keyname">Keyword : </div>          
    <input name="usersearch" id="usersearch" type="text" value="" onKeydown="memSort(event);"/>
    <div id="listOrders"></div>
</div>

关键词:

“类型错误:e未定义”-说明:

注意html代码:onKeydown=“memSort(event);
在这里,我将一个事件对象
event
作为函数参数传递。但是在您的代码中,您错过了这个。当您不传递参数时,它被称为
未定义的
(如果您没有传递事件,那么您就无法获得
e.keyCode
),因此,您必须传递事件对象。

onKeydown=“memSort(event);“
为什么要使用内联事件?
<div class="searchBox">
    <div class="keyname">Keyword : </div>          
    <input name="usersearch" id="usersearch" type="text" value="" onKeydown="memSort(event);"/>
    <div id="listOrders"></div>
</div>