자율 학습/에러 해결

[jQuery] keypress가 안 먹히는 에러 (keydown으로 교체)

2022. 9. 15. 15:33

재료 입력 부분에서,

칸을 지우고 지우다 마지막 칸까지 지워버릴 때 못지우게 만들고 경고 메시지가 뜨도록 했었다.

그리고 재료 칸을 추가하면 메시지를 사라지게 했다.

 

 

근데 여기에 추가로 또 input 칸에 글자를 입력하는 경우에도 메시지를 사라지게 하고 싶어서

keypress로 함수를 걸어봤는데 반응하지 않았다..

 

$("#material").on("keypress", "input", function(){
	$("#notice").hide();
});

#material 하위의 input에 글자를 쓰면 경고 메시지를 사라지게 함수를 만들었다.

근데 반응 없음..

콘솔로그를 넣어 콘솔창도 확인해봤지만 역시 아무것도 뜨지 않았다.

 

 

 

keydown으로 바꿔 해결!

$("#material").on("keydown", "input", function(){
	$("#notice").hide();
});

 

 


 

개념

keyup : 모든 문자 인식. 누른 키에서 손을 땔 때 실행.

keydown : 모든 문자 인식. 일회성 (키보드 누르고 있을 때 한 번만 실행).

keypress : 한글 인식 안 함. 지속성 (키보드 누르고 있을 때 계속 실행).

 

 

실행되는 순서

keydown -> keypress -> keyup