检测文本输入字段中的Enter键

时间:2011-08-15 00:39:27

标签: javascript jquery

如果在特定输入时按下输入,我正在尝试执行此功能。

我做错了什么?

$(document).keyup(function (e) {
    if ($(".input1").is(":focus") && (e.keyCode == 13)) {
        // Do something
    }
});

有没有一种更好的方法可以说,如果按下.input1按下功能吗?

11 个答案:

答案 0 :(得分:438)

$(".input1").on('keyup', function (e) {
    if (e.keyCode == 13) {
        // Do something
    }
});


//keyup not compatible with Jquery select(), Keydown is.

答案 1 :(得分:53)

event.key ===“输入”

更新,更清洁:使用event.key不再有任意数字代码!

const node = document.getElementsByClassName(".input")[0];
node.addEventListener("keyup", function(event) {
    if (event.key === "Enter") {
        // Do work
    }
});

如果你必须使用jQuery:

$(document).keyup(function(event) {
    if ($(".input1").is(":focus") && event.key == "Enter") {
        // Do work
    }
});

Mozilla Docs

Supported Browsers

答案 2 :(得分:43)

$(document).keyup(function (e) {
    if ($(".input1:focus") && (e.keyCode === 13)) {
       alert('ya!')
    }
 });

或者只是绑定到输入本身

$('.input1').keyup(function (e) {
    if (e.keyCode === 13) {
       alert('ya!')
    }
  });

要确定您需要的keyCode,请使用网站http://keycode.info

答案 3 :(得分:11)

尝试此操作以检测文本框中按下的Enter键。

$(function(){

$(".input1").keyup(function (e) {
    if (e.which == 13) {
        // Enter key pressed
    }
 });

});

答案 4 :(得分:5)

回答这个问题可能为时已晚。但是以下代码只是阻止了回车键。只需复制和粘贴即可。

        <script type="text/javascript"> 
        function stopRKey(evt) { 
          var evt = (evt) ? evt : ((event) ? event : null); 
          var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); 
          if ((evt.keyCode == 13) && (node.type=="text"))  {return false;} 
        } 

        document.onkeypress = stopRKey; 

        </script>

答案 5 :(得分:5)

我找到的最好方法是使用keydownkeyup对我来说效果不佳。)

注意:我也禁用了表单提交,因为通常当您在按Enter键时执行某些操作时,唯一认为您不喜欢的是提交表单:)

$('input').keydown( function( event ) {
    if ( event.which === 13 ) {
        // Do something
        // Disable sending the related form
        event.preventDefault();
        return false;
    }
});

答案 6 :(得分:2)

适用于我的解决方案如下

$("#element").addEventListener("keyup", function(event) {
    if (event.key === "Enter") {
        // do something
    }
});

答案 7 :(得分:1)

尝试此操作以检测文本框中按下的Enter键。

$(document).on("keypress", "input", function(e){
    if(e.which == 13){
        alert("Enter key pressed");
    }
});

DEMO

答案 8 :(得分:0)

 $(document).ready(function () {
        $(".input1").keyup(function (e) {
            if (e.keyCode == 13) {
                // Do something
            }
        });
    });

答案 9 :(得分:0)

$('.input1').keypress(function(event){
    var keycode = (event.keyCode ? event.keyCode : event.which);
    if(keycode == '13'){
        //do whatever you want on ENTER click
    }
});

答案 10 :(得分:0)

此代码为我处理了整个站点中的所有输入。它会检查INPUT字段内的ENTER KEY,并且不会在TEXTAREA或其他地方停止。

$(document).on("keydown", "input", function(e){
 if(e.which == 13){
  event.preventDefault();
  return false;
 }
});