2012-01-14 2 views
3

<input type="text"> 필드에 입력 할 때 입력 된 모든 값이 화면에 나타나기 전에 미리 확인하고 싶습니다. 예 : 사용자가 숫자가 아닌 값을 입력하면 아무 것도 나타나지 않고 숫자 값을 입력 할 때만 필드가 변경됩니다.JQuery 취소 입력 된 텍스트

keydown(), keyup()을 사용하는 올바른 이벤트는 무엇입니까? 아니면 더 좋은 점이 있습니까? 이전 값을 기억하고 수동으로 재설정하지 않고 텍스트 필드의 현재 변경을 취소하려면 어떻게합니까?

답변

3

keypress 이벤트에 바인딩 한 다음 이벤트 개체의 which 속성이 나타내는 문자를 확인할 수 있습니다. 이 숫자가 아닌 경우에는 요소에 문자를 작성하는 기본 동작을 방지하기 위해 preventDefault를 사용할 수 있습니다

$("#someInput").keypress(function(e) { 
    if(isNaN(String.fromCharCode(e.which))) { 
     e.preventDefault(); 
    } 
}); 

가 여기 working example입니다.

관련 문제