일단 input type 을 text 로 한다.
그리고 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 은 불리지 않는다.
따라서 onkeyup 과 onblur 이벤트를 둘다 사용해야한다.
onblur 는 포커스를 잃을때 호출된다.
keydown을 한 상태에서 다른곳을 클릭할때라... 감탄스럽니다.
역시 프론트는 알면 알수록 모르겠음