Javascript로 숫자만 입력받기로 검색을 하다보면
function onlyNumber() {
if((event.keyCode > 31) && (event.keyCode < 45) || (event.keyCode > 57)) {
event.returnValue = false;
}
이 소스를 가장 많이 보게 된다.
그런데 문제는 저 소스는 FireFox, Chrome에서 정상적으로 작동되지 않는다.
IE만 되는 소스는 이제 외면 받기 마련!
크로스 브라우징을 위해서 Hack을 별도로 사용할까 하다가.
아래 소스를 찾았다.
function key_check (event) {
// allow keypad numbers, 0 to 9
if(code < 96 || code > 105){
event.preventDefault();
};
}
위 소스중 유심히 볼 부분은
event.preventDefault()
이 부분이다.
event.preventDefault()의 대한 설명은 아래와 같다.
이벤트를 취소하는 도중에 preventDefault를 호출하게 되면 일반적으로 브라우저의 구현에 의해 처리되는 기존의 액션이 동작하지 않게 되고, 그 결과 이벤트가 발생하지 않게 되는 것이다!!
참고 링크 :
https://developer.mozilla.org/ko/DOM/event.preventDefault
function onlyNumber() {
if((event.keyCode > 31) && (event.keyCode < 45) || (event.keyCode > 57)) {
event.returnValue = false;
}
이 소스를 가장 많이 보게 된다.
그런데 문제는 저 소스는 FireFox, Chrome에서 정상적으로 작동되지 않는다.
IE만 되는 소스는 이제 외면 받기 마련!
크로스 브라우징을 위해서 Hack을 별도로 사용할까 하다가.
아래 소스를 찾았다.
function key_check (event) {
// allow keypad numbers, 0 to 9
if(code < 96 || code > 105){
event.preventDefault();
};
}
위 소스중 유심히 볼 부분은
event.preventDefault()
이 부분이다.
event.preventDefault()의 대한 설명은 아래와 같다.
이벤트를 취소하는 도중에 preventDefault를 호출하게 되면 일반적으로 브라우저의 구현에 의해 처리되는 기존의 액션이 동작하지 않게 되고, 그 결과 이벤트가 발생하지 않게 되는 것이다!!
참고 링크 :
https://developer.mozilla.org/ko/DOM/event.preventDefault
댓글
댓글 쓰기