Отмена нажатия клавиши в jQuery

возможно (совместимо с кросс-браузером) до отмена нажатие клавиши после того, как пользователь сделал (например на поле)

код, который я сейчас использую, изменяет значение текстового поля после нажатия клавиши:

$('.number').keypress(function() {
    this.value = this.value.replace(/[^0-9.]/g, '');
});

2 ответов


$('.number').keypress(function() {
    if ( this.value == 'foobar' ){
        // "Cancel" keystroke
        return false;
    }
    this.value = this.value.replace(/[^0-9\.]/g, '');
});

РЕШЕНО (И ОБНОВЛЕНО)

извинения, я не тестировал самый очевидный вариант-который работал:

$('.number').keypress(function(event) {
    return /[0-9\.]/.test(String.fromCharCode(event.keyCode));
});