javascript - テキスト入力フィールドでEnterキーを検出する


特定の入力時にEnterを押すと、機能を実行しようとしています。

私は何をしているのですか?

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

.input1押して入力すると機能するという、これを実行する良い方法はありますか?


Answers



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


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



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

または、入力自体にバインドするだけです

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

どのkeyCodeが必要かを理解するには、Webサイトhttp://keycode.info




event.key === "Enter"

より最近の、よりクリーンな: event.key使用してください。 それ以上の任意の数値コードはありません!

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

Mozillaドキュメント

サポートされているブラウザ




これを試して、テキストボックスで押されたEnterキーを検出してEnter

$(function(){

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

});



この質問に答えるには遅すぎるかもしれません。 しかし、次のコードは単純にEnterキーを禁止しています。 ちょうどコピー&ペーストが効くはずです。

        <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>



私が見つけた最良の方法はkeydownを使用することkeydownkeyupは私のためにうまく機能しません)。

注:私はフォームの送信を無効にしました。通常、Enterキーを押したときにいくつかのアクションを実行したいときは、フォームを送信するだけです。

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



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