[javascript] jQuery를 사용하여 키보드에서 Enter를 누르는 것을 감지하는 방법은 무엇입니까?

사용자가 EnterjQuery를 사용하여 눌렀는지 여부를 감지하고 싶습니다 .

이것이 어떻게 가능한지? 플러그인이 필요합니까?

편집 : keypress()방법 을 사용해야하는 것 같습니다 .

해당 명령에 브라우저 문제가 있는지 아는 사람이 있는지 알고 싶었습니다. 브라우저 호환성 문제가 있습니까?



답변

jQuery의 요점은 브라우저 차이점에 대해 걱정할 필요가 없다는 것입니다. enter모든 브라우저에서 13 세 이상을 안전하게 사용할 수 있다고 확신 합니다. 따라서이를 염두에두고 다음을 수행 할 수 있습니다.

$(document).on('keypress',function(e) {
    if(e.which == 13) {
        alert('You pressed enter!');
    }
});


답변

“on enter key press”이벤트를보다 쉽게 ​​바인딩 할 수 있도록 작은 플러그인을 작성했습니다.

$.fn.enterKey = function (fnc) {
    return this.each(function () {
        $(this).keypress(function (ev) {
            var keycode = (ev.keyCode ? ev.keyCode : ev.which);
            if (keycode == '13') {
                fnc.call(this, ev);
            }
        })
    })
}

용법:

$("#input").enterKey(function () {
    alert('Enter!');
})


답변

나는 일에 @Paolo Bergantino 게시 한 코드를 가져올 수 없습니다하지만 난 그것을 변경하는 경우 $(document)e.which대신 e.keyCode다음 내가 찾은 그 고장없이 작동 할 수 있습니다.

$(document).keypress(function(e) {
    if(e.which == 13) {
        alert('You pressed enter!');
    }
});

JS Bin에 대한 예제 링크


답변

나는 이것이 더 크로스 브라우저와 호환되는 것을 발견했다.

$(document).keypress(function(event) {
    var keycode = event.keyCode || event.which;
    if(keycode == '13') {
        alert('You pressed a "enter" key in somewhere');
    }
});


답변

jquery ‘keydown’이벤트 핸들을 사용 하여이 작업을 수행 할 수 있습니다

   $( "#start" ).on( "keydown", function(event) {
      if(event.which == 13)
         alert("Entered!");
    });


답변

event.key현대 JS를 사용하십시오 !

$(document).keypress(function(event) {
    if (event.key === "Enter") {
        // Do something
    }
});

또는 jQuery없이 :

document.addEventListener("keypress", function onEvent(event) {
    if (event.key === "Enter") {
        // Do something better
    }
});

모질라 문서

지원되는 브라우저


답변

나는 누군가에게 도움이되기를 바랍니다.

$(document).ready(function(){

  $('#loginforms').keypress(function(e) {
    if (e.which == 13) {
    //e.preventDefault();
    alert('login pressed');
    }
  });

 $('#signupforms').keypress(function(e) {
    if (e.which == 13) {
      //e.preventDefault();
      alert('register');
    }
  });

});