** keypress( ), keydown( )의 다른점? 그 외 key관련 이벤트함수 알아두기
** event.which, event.keyCode의 다른점?
which는 제이쿼리에서 keyCode의 역할이다.
[input] 전화번호 다음칸으로 자동 넘김
방법1 : event.which & keyCode로 키보드 키값 확인 -> 특정 키값들을 활용 [keypress, keydown] "눌렀을때"
-사용: 오로지 숫자 또는 한글 또는 영문만 제어 가능.
방법2 : 정규실을 사용 [keyup]
-단점: 작동은 잘될 수 있으나 keyup 이벤트 효과로 첫 글자는 나올 수 있다.
<input type="text" name="callno1" class="inputs" id="" maxlength="3" size="3" title="휴대폰첫째자리" style="width:53px; height:25px;" required>
<input type="text" name="callno2" class="inputs" id="" maxlength="4" size="4" title="휴대폰중간자리" style="width:53px; height:25px;" required>
<input type="text" name="callno3" class="inputs" id="" maxlength="4" size="4" title="휴대폰끝자리" style="width:53px; height:25px;" required>
<script>
$(function() {
$(".inputs").keydown(function(e) {
var charLimit = $(this).attr("maxlength");
var keys = [8, 9, /*16, 17, 18,*/ 19, 20, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 144, 145];
if (e.which == 8 && this.value.length == 0) {
$(this).prev('.inputs').focus();
} else if ($.inArray(e.which, keys) >= 0) {
return true;
} else if (this.value.length >= charLimit) {
$(this).next('.inputs').focus();
return false;
} else if (e.shiftKey || e.which <= 47 || e.which >= 106) {
return false; // 특수문자 입력 방지 + 특수키 방지
} else if (e.shiftKey || (e.which >= 58 && e.which <= 95)) {
return false; // 특수문자 입력 방지 + 알파벳(대/소) 입력 방지
}
})
.keyup (function () {
var charLimit = $(this).attr("maxlength");
if (this.value.length >= charLimit) {
$(this).next('.inputs').focus();
return false;
}
});
});
</script>
event shiftKey: 키보드 키 중 shift를 누르고 안누르고를 true 또는 false로 반환해준다.
** 위와 같은 상황에서는 input에 특수문자가 들어오지 못하게 하기 위해 사용됬다.
javaScript event which 코드표:
$("#kor_name").keypress(function(e){
// 숫자 + 알파벳 방지 (48 ~ 90)
if(e.which > 48 || e.which <= 90){
return false;
}else if(e.shiftKey || e.altKey){
return false;
}
})
'코드 간편모음' 카테고리의 다른 글
이미지 사이즈 구하기 (MySql) (0) | 2021.03.18 |
---|---|
경로, 파일명 가져오기 ( feat. split, substr, substring ) (0) | 2021.01.20 |
input 전체 선택 [live.( ) / if( ){ } / prop( )] (0) | 2020.11.25 |
flag를 활용한 트릭 (0) | 2020.10.30 |
IE용 주석을 이용한 방법 (Conditional comments) & 크로스 브라우징 (0) | 2020.08.20 |
댓글