웹 프로젝트의 전신 JS 코드를 읽을 때 문제가 있습니다. 사용자가 keydown
이벤트 대신 유효성을 검사하도록하려면 keyup
이벤트를 사용했습니다. 브라우저 호환성과 관련하여 이러한 종류의 작업에 keydown
이벤트에 문제가 있습니까? 나는 keydown
가 Firefox, Chrome 및 IE10에서 잘 작동 함을 발견했습니다.자바 스크립트 키 업 및 keydown 이벤트
답변
텍스트 영역을 편집하는 경우 keydown
에 키가 아직 텍스트 영역에 아무것도 넣지 않았습니다. keyup
에 텍스트 영역의 내용이 수정됩니다. 나는 당신이 키를 누르고 있으면 다른 행동을한다고 믿는다.
오른쪽. 오늘 나는 keydown을 사용하면 값을 얻기 위해 setTimeout을 사용해야한다는 것을 알았다. – RocShow
keypress 이벤트는 키 누르기와 keydown 이벤트가 물리적으로 이동하는 키에 해당하기 때문에 keypress는 필드에 입력되는 문자에 해당하므로 키 누르기 이벤트를 살펴볼 수 있습니다. 유효성 검사는 필드의 문자를 기반으로하며 keyup 및 keydown은 게임과 같은 용도로 사용됩니다.
http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx 및 JavaScript: input validation in the keydown event
키 누르기가 정상입니다. 그러나 여기에는 적합하지 않습니다. 이 코드 조각의 목적은 사용자의 입력을 검증하기 때문입니다. 따라서 다음과 같은 상황이 있습니다. 내 웹에서 사용자가 입력 한 글자를 입력 할 수 없습니다. "a"와 같은 키를 계속 누르고있을 때는 오른손으로 왼손 손가락을 사용하고 손가락을 올리지 말고 제출 버튼을 클릭하십시오. 결과적으로 사용자 입력에는 "a"가 많이있을 것입니다. 키가 올라 오기 전에 validate 함수를 호출 할 수 없기 때문입니다. 따라서이 방법을 통해 유효성 검사를 건너 뛰는 것은 쉽습니다. – RocShow
이런 이유로 저는 Keydown이 더 나은 선택이라고 생각합니다. – RocShow
- 1. iframe의 모든 키 업/keydown 이벤트?
- 2. 자바 스크립트 키 누르기 이벤트
- 3. KeyPress 및 KeyDown 이벤트
- 4. 키 다운 및 키 업 이벤트 간의 테스트
- 5. Jquery의 이벤트 키 업
- 6. Keydown 이벤트 캡처 숫자 키
- 7. 레이블의 Keydown 이벤트
- 8. 자바 스크립트 - Chrome에서 키 이벤트 시뮬레이트 53
- 9. 자바 스크립트 캡처 keydown
- 10. 자바 스크립트 키 이벤트 실행 순서
- 11. JQuery의 변경 및 키 업 이벤트 핸들러
- 12. #EmberJs 텍스트 상자에서 키 업 또는 keydown 이벤트보다 지연 추가
- 13. jQuery 키 업 지연 이벤트
- 14. 알레그로의 키 업 이벤트 버그.
- 15. jQuery .abort() 키 업 이벤트
- 16. jQuery에서 키 업 이벤트가 keydown 이벤트를 방해하지 못하게하려면 어떻게해야합니까?
- 17. keydown과 키 업 사이의 시간
- 18. Jquery 키 업 또는 keydown 이벤트가 작동하지 않습니다.
- 19. javascript keydown 이벤트 일시 중지
- 20. C#의 KeyDown 및 KeyPress 이벤트 처리
- 21. 누락 된 keydown 이벤트를 잡기위한 자바 스크립트
- 22. C# - KeyDown 이벤트, FunctionKeys 및 TextBox
- 23. 시뮬레이션 keydown 이벤트
- 24. 자바 스크립트 콘솔에서 키 누르기 이벤트 시뮬레이트
- 25. 자바 스크립트 키 누르기 이벤트 바인딩
- 26. 검도 그리드 keydown 이벤트
- 27. Silverlight Smooth KeyDown 이벤트
- 28. 자바 스크립트에 키 다운 및 키 업 이벤트를 추가하는 방법
- 29. Silverlight KeyDown 이벤트 동작
- 30. 자바 스크립트 프로토콜 및 이벤트
당신은 모든 문제를 보았는가? 아니면 어떤 것이 있을지 묻는 것입니까? – scunliffe
IE는 항상 expection입니다. – VirtualTroll
@scunliffe 나는 어떤 것이 있는지 묻고 있습니다. 사용자의 입력에 대한 유효성 검사를 트리거하려면 keydown이 필요하기 때문입니다. – RocShow