如何在javascript上检测输入文本按下的键

时间:2016-09-03 03:32:12

标签: javascript keypress

我有这个简单的文件:

   <!DOCTYPE html>
      <html>
        <body>
        <input id="mytext" onkeypress="myfun(e)"></input>
        <p id="demo"></p>
        <script> function myfun(e){ 
                if(e.keyCode==13) alert('Enter Key Pressed');}
        });
        </script>
        </body>
      </html>

我想要的是: 当用户在mytext上按Enter键时,显示警告以通知用户如下消息:Enter Key Pressed

我做了上面所做的所有事情,但它没有工作,按下我的文字时没有显示任何警告。

请帮助!..

2 个答案:

答案 0 :(得分:2)

您可以添加一个事件监听器来监听onkeypress事件:

document.getElementById('mytext').addEventListener('keypress', function(e) {
    if(e.keyCode == 13) alert('Enter Key Pressed');
});

此外,输入标记没有结束标记。 Here's一个实例

如果要将其作为处理程序内联调用,请尝试以下操作:

&#13;
&#13;
<input id="mytext" onkeypress="myfun(event)">
<p id="demo"></p>
<script>
function myfun(event){ 
    var key = event.keyCode || event.which;
    if(key === 13) alert('Enter Key Pressed');
}
</script>
&#13;
&#13;
&#13;

您必须使用event作为参数,以确保它作为处理程序正常工作。现在,获取关键代码并检查它是否为13,然后发出警报。

答案 1 :(得分:0)

当您使用myfun(事件)替换myfun(e)时,您的代码可以正常工作。我还纠正了一些语法错误。

 <html>
    <body>
        <input id="mytext" onkeypress="myfun(event)"></input>
        <p id="demo"></p>
        <script> 
            function myfun(e){ 
                    if(e.keyCode==13) alert('Enter Key Pressed');
            };
        </script>
    </body>
</html>
相关问题