Вы ищете событие keydown
, keypress
или keyup
для захвата ввода и отклонения нецифрового ввода.
Из этих трех опций для целочисленного ввода keypress
событие очень подходящее.
$('input#selector').keypress(function(event) {
if (e.which < 48 || e.which > 57) { // or:
//if (!/\d/.test(String.fromCharCode(e.which))) {
event.preventDefault();
}
});
Однако вам также следует использовать blur
/ change
, чтобы справиться с вводом при копировании / перетаскивании.