오늘 Enter 키를 누를 때 키 누르기 이벤트가 시작되지 않았으므로 대신 keydown () 또는 keyup ()으로 전환 할 수 있습니다.
내 테스트 스크립트 :
$('.module input').keydown(function (e) {
var keyCode = e.which;
console.log("keydown ("+keyCode+")")
if (keyCode == 13) {
console.log("enter");
return false;
}
});
$('.module input').keyup(function (e) {
var keyCode = e.which;
console.log("keyup ("+keyCode+")")
if (keyCode == 13) {
console.log("enter");
return false;
}
});
$('.module input').keypress(function (e) {
var keyCode = e.which;
console.log("keypress ("+keyCode+")");
if (keyCode == 13) {
console.log("Enter");
return false;
}
});
키보드에서 "A Enter B"를 입력 할 때 콘솔의 출력 :
keydown (65)
keypress (97)
keyup (65)
keydown (13)
enter
keyup (13)
enter
keydown (66)
keypress (98)
keyup (66)
두 번째 시퀀스에서 'keypress'가 누락되었지만 keydown 및 keyup register code '13'이 눌려 지거나 해제 된 것으로 나타납니다. 당으로서 ) (기능 키를 누를 때의 jQuery 문서 :
Note: as the keypress event isn't covered by any official specification, the actual behavior encountered when using it may differ across browsers, browser versions, and platforms.
Server 2012 R2의 IE11 및 FF61에서 테스트