[javascript] input 숫자만 입력받기

일단 input typetext 로 한다.

그리고 onkeyup 메소드를 연결한다.

onkeyup 이냐면 onkeydown 이나 onkeypress 는 브라우저마다 적용되는것이 다르다.

function tel_keyup() {
 var i = document.getElementById("PHONE");
 if(i.value.length>0){
  i.value = i.value.replace(/[^\d]+/g, '');
    }
 return true;
}

그리고 위의 코드를 사용한다.

정규표현식을 이용해 숫자만 남기는 코드이다.

자 하지만, 이 이벤트는 onkeyup 에서만 호출되기 때문에..

내가 onkeydown 만 하면 문제가 생긴다.

keydown 을 하면 keyup 이 있지않나>?????

아니다. ㅁ같다.

키다운을 하고있는상태 즉! 계속 키를 누른상태에서

마우스로 다른 인풋으로 포커스를 이동하면 onkeyup 은 불리지 않는다.

따라서 onkeyuponblur 이벤트를 둘다 사용해야한다.

onblur 는 포커스를 잃을때 호출된다.