.keyup не запускается для удаления первого символа в поле ввода - PullRequest
1 голос
/ 12 января 2011

Странное явление обнаружено в JQuery 1.4.4 для FireF, Chrome, Safari (IE не проверено). Цель: обновить список, пока пользователь вводит значение фильтра в простое базовое поле ввода текста. Решение: связанное событие keyup, считывание значения поля ввода, применение фильтра ... примерно:

$("#myinputfield").keyup(function(e) { myList.filter($(this).val()) });

отлично работает как для ввода, так и для удаления EXCEPT при удалении (del или backspace тот же эффект) последнего оставшегося (== first) символа. в этом случае событие вообще не срабатывает. Кто-нибудь с идеей о том, что проблема и / или как ее решить?

(с .: Мое решение состояло бы в том, чтобы перейти от привязки события keyup к периодической проверке setTimeout, если поле ввода имеет фокус, но этот koxind выглядит как грязный выход ...)

1 Ответ

0 голосов
/ 12 января 2011

Я не могу воспроизвести вашу проблему.Возможно, просто ваша функция фильтра не очень хорошо справляется с $(this).val() == ''. Проверьте этот быстрый тест .

...