내 웹 페이지에 다음과 같은 Javascript 코드 (jQuery 포함)가 있습니다. 사용자가 텍스트 필드에 입력하면 응용 프로그램에서 필드에 값이있는 경우와 응용 프로그램에서 한 가지 작업을 수행합니다. 사용자가 삭제 또는 백 스페이스 키를 눌러서 비어 있습니다. 내가 가진 코드는 다음과 같습니다자바 스크립트 키 이벤트 실행 순서
$('input#textInput').keyup(function(event) {
if($(this).val()) {
console.log('non-empty string in the text field');
}
else {
console.log('no text in the text field');
}
}
문제는 문자가 텍스트 필드에 표시되기 전에 콜백 함수가 실행처럼 보이는 것입니다. 필드가 비어 있고 'p'키를 누르면 keydown, keypress 및 keyup 이벤트가 생성되고 keyup 콜백 함수가 실행되고 '텍스트 필드에 텍스트가 기록되지 않습니다.'라는 메시지가 표시됩니다. 'p'문자가 텍스트 필드에 나타납니다. 이것은 내가 원하지 않는 것입니다.
키 이벤트 중 하나에서 콜백을 실행하고 텍스트 필드에 표시되는 값에 액세스하는 방법을 아는 사람이 있습니까? 감사.
은 "키 누름"이벤트가 발생 후에, 나는 생각한다. * 편집 * 죄송합니다. – Pointy
"키 콜백 함수가 실행되고 '텍스트 필드에 텍스트가 기록되지 않습니다.'라는 메시지가 나타납니다. - 여러 번 시도했는데 키패드의 경우"텍스트 필드에 비어 있지 않은 문자열 "이 출력되었습니다. http://jsfiddle.net/skram/uH4H3/1/ –