사용자가 입력하거나 누르기 만하면 유효성을 검사 할 입력 필드가 있습니다.이 경우 이벤트 keypress
및 blur
을 사용합니다. 입력이 유효성 검사에 실패하면 경고 상자가 호출됩니다.Javascript/JQuery : 경고 상자로 두 번 트리거하지 않는 keypress/blur 이벤트를 추가하는 방법은 무엇입니까? IE 만
나는 IE (모든 버전)에서 잘못된 입력으로 Enter 키를 누르면 어떤 이유로 키 누르기 및 흐림 이벤트가 모두 발생하는 것으로 나타났습니다 (경고 상자 인 것 같지만 FF/Chrome)과 동일한 경고 상자 두 개를 보여줍니다. 나는 그것을 어떻게 가질 수 있습니까?
EDIT : FF/Chrome에서는 enter로 유효성 검사를 시도한 후 아무 곳이나 클릭하면 두 번째 경고 상자가 나타납니다.
간체 코드 :
$("#input-field").keypress(function(event) {
if (event.keycode == 13) {
event.stopPropagation();
validate();
return false;
}
});
$("#input-field").blur(function() {
validate();
});
function validate() {
if ($("#input-field").val() == '') {
alert("Invalid input");
}
}
편집 : 아 - 하. 필자가 잊어 버린 개별적인 세부 사항은 아닙니다. 유효하지 않은 입력을 이전의 유효한 값으로 복원해야하므로 validate 함수가 값을 다시 검사 할 때 두 번 실패하지 않습니다.
유효성 확인을위한 경고가 잘못되었습니다. – epascarello
@epascarello : 유효성 검증 컨텍스트에서 매우 나쁜 점에 대해 설명해주십시오. – Blazemonger