JavaScript:在调用函数的文本输入上按Enter键

时间:2016-05-13 17:35:11

标签: javascript html css

http://codepen.io/abdulahhamzic/pen/YqMQwB

如何制作它,以便当我在文本输入上按Enter键时,它会调用一个函数?我试过用这个:

<input type="text" onkeypress="clickPress()">   

但问题是我只想按Enter键调用该功能,而不是按任意键。我如何实现这一目标?

5 个答案:

答案 0 :(得分:6)

您要做的是检查事件的键是否为回车键:

在你的html中,添加事件参数

<input type="text" onkeypress="clickPress(event)">

在处理程序中,添加一个事件参数

function clickPress(event) {
    if (event.keyCode == 13) {
        // do something
    }
}

答案 1 :(得分:1)

使用表单(提交事件只运行一次而不是每次按键):

// Wrap code in a closure (global variables may mess with other JS)
(function(window, document) {
  'use strict';

  // Get the form element
  var myFormEl = document.querySelector('.my-form');
  if(myFormEl) {
    
    // Attach the event handler to the form element
    myFormEl.addEventListener("submit", function(e) {
      alert(myFormEl.myText.value);
      e.preventDefault(); // Don't forget this!
    }, false);
  }

})(window, document);
<form class="my-form">
  <input type="text" name="myText">
</form>

答案 2 :(得分:0)

Enter按钮的keyCode为13,因此您可以使用jQuery <{3}}

$("input").keypress(function(event) {
    if (event.which == 13) {
        alert("Enter was pressed");
     }
});

或者,在纯javascript中:

<input type="text" onkeypress="clickPress(event)">

function clickPress(event) {
    if (event.keyCode == 13) {
        // do something
    }
}

答案 3 :(得分:0)

获取活动的keycode并测试其是enterkeycode 13

<script>
    function clickPress(e){
    if (event.keyCode == 13) {
        // Enter was pressed
        alert("enter");
    }
  }
</script>

<input type="text" onkeypress="clickPress(event)" />

here

答案 4 :(得分:0)

可能有几个&#34;更好&#34;如何做你想做的事情,但为了简单起见,你可以做到这一点:

<input type="text" id="txt"> 

您可以在onkeypress代码中附加事件监听器而不是收听<script></script>,而是执行此操作:

var myText = document.getElementById("txt");
myText.addEventListener("keyup", function(e) {
    if (e.which === 13) {
        //The keycode for enter key is 13
        alert(e.target.value);
    }
});

是的,这绝对是一个重复的问题。