Javascript 检测文本输入中的输入

Javascript 检测文本输入中的输入,javascript,jquery,events,keydown,keyup,Javascript,Jquery,Events,Keydown,Keyup,我试图检测用户在仍然键入文本输入的情况下何时点击Enter。只有在文本输入中同时发生按键“按下”和按键释放时,才会触发该事件。也就是说,如果他在身体的其他部分按下Enter,然后将注意力集中在输入上并将其释放,则事件不应触发。因此,我尝试了以下方法: <!DOCTYPE html> <html> <head> <script src="jquery.js"> </script> <script> $(document).re

我试图检测用户在仍然键入文本输入的情况下何时点击
Enter
。只有在文本输入中同时发生按键“按下”和按键释放时,才会触发该事件。也就是说,如果他在身体的其他部分按下
Enter
,然后将注意力集中在输入上并将其释放,则事件不应触发。因此,我尝试了以下方法:

<!DOCTYPE html>
<html>
<head>
<script src="jquery.js">
</script>
<script>
$(document).ready(function(e){
  $("input").keyup(function(e){
    if (e.which == 13 && $(this).attr("enter") == "1") { alert("Yep!"); }
  });
$("input").keydown(function(e) {
   if (e.which == 13) { $(this).attr("enter","1"); }
});
$(document).on("keyup",function(e) { if (e.which == 13) { $("input").attr("enter","0"); } });
});
</script>
</head>
<body>
<input type = 'text' enter = '0' />
</body>
</html>

然后尝试执行此操作,从输入中单击以移除焦点,然后按
Enter
,在按住的同时,将焦点放在输入上。您现在将看到一系列连续的警报

因为有两个事件绑定到输入,如下所示

里面一个

$("input").keyup(function(e){
和其他内部

$(document).on("keyup",function(e) {

因此,首先需要使用
e.stopPropagation()

你试过我的答案了吗?是的。不起作用..:(
$(document).on("keyup",function(e) {