Javascript 숫자만 입력받기

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






댓글