@Valeriy1997

Как найти ошибку в строке?

Подскажите почему в этой строке :
if (!((which >= 48 && which <= 57) || which == 13)){


выбивает ошибку ?

Вот весь код :
jsfiddle.net/t52ka/28
  • Вопрос задан
  • 180 просмотров
Решения вопроса 2
@dmitryKovalskiy
программист средней руки
Судя по всему не which , а e.which
Ответ написан
Stalker_RED
@Stalker_RED
некоторые браузеры используют keyCode некоторые which.
jQuery добавляет which во все браузеры, емнип.
Ошибка у вас потому что нужно использовать e.which а не просто which.

Вот нашел в закромах пример реализации фильтра
$('.numeric-only').keydown(function (e) {
        // Allow: backspace, delete, tab, escape, enter and .
        if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
             // Allow: Ctrl+A
            (e.keyCode == 65 && e.ctrlKey === true) || 
             // Allow: home, end, left, right
            (e.keyCode >= 35 && e.keyCode <= 39)) {
                 // let it happen, don't do anything
                 return;
        }
        // Ensure that it is a number and stop the keypress
        if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
            e.preventDefault();
        }
    });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы