jQuery를
는
e.which
정규화.
올바른 키 코드를 수신하는 것이 훨씬 쉽습니다.
indexOf
으로 필터링하기 위해 키 코드를 문자로 변환 할 필요가 없습니다.) (
$('#foo').keydown(function(e) {
var code = e.which;
if (code == 8 || code == 13) return true; // backspace and enter
if (code < 48 || code > 57 || code == 188 || code == 190) return false;
});
FIDDLE
활성화 대부분의 키를 유지하려면, 그냥 주로 비활성화 자, 당신은이
$('#foo').keydown(function(e) {
var key = e.which;
if (!e.shiftKey && !e.altKey && !e.ctrlKey &&
key >= 48 && key <= 57 || // numbers
key >= 96 && key <= 105 || // Numeric keypad
key == 190 || key == 188 || key == 109 || key == 110 || // comma, period and minus, . on keypad
key == 8 || key == 9 || key == 13 || // Backspace and Tab and EnterEnd
key == 35 || key == 36 || // Home and
key == 37 || key == 39 || // left and right arrows
key == 46 || key == 45) // Del and Ins
return true;
return false;
});
FIDDLE
evt.preventDefault처럼 필터링 할 수; false를 반환하는 것과 같습니다. – Srw
@Srw 적어도 jQuery 이벤트 핸들러를 사용할 때는 맞습니다. – ComFreek