JavaScript. Подробное руководство, 6-е издание
Шрифт:
17.8.
Броузеры поддерживают три старых события ввода с клавиатуры. События «keydown» и «keyup» являются низкоуровневыми событиями и рассматриваются в следующем разделе. Однако событие «keypress» является высокоуровневым, сообщающим, что был введен печатаемый символ. Проект спецификации «DOM Level 3 Events» определяет более обобщенное событие «textinput», генерируемое в ответ на ввод текста, независимо от того, каким способом он был введен (например, с клавиатуры, копированием данных из буфера обмена или с помощью операции буксировки, методом ввода текста на азиатских языках или с помощью системы распознавания речи или распознавания рукописного текста). На момент написания этих строк событие «textinput» еще не поддерживалось, но броузеры на основе ядра Webkit поддерживали очень похожее событие «textInput» (с заглавной буквой «I»).
С предлагаемым событием «textinput» и реализованным в настоящее время событием «textInput» передается простой объект события, имеющий свойство
Объект события, передаваемый с событием «keypress», имеет более сложную организацию. Событие «keypress» представляет ввод единственного символа. Этот символ содержится в объекте события в виде числового значения кодового пункта Юникода и, чтобы преобразовать его в строку, необходимо использовать метод
События «textinput», «textinput» и «keypress» можно отменить, чтобы предотвратить ввод символа. То есть эти события можно использовать для фильтрации ввода. Например, можно предотвратить ввод алфавитных символов в поле, предназначенное для ввода числовых данных. В примере 17.6 демонстрируется модуль на языке JavaScript, реализующий такого рода фильтрацию. Он отыскивает элементы
Пример 17.6. Фильтрация ввода пользователя
Легенды и мифы Древнего Востока
Древний мир
Документальная литература:
биографии и мемуары
рейтинг книги
Беглец
1. Совсем не герой
Фантастика:
фэнтези
попаданцы
рейтинг книги
Александр Великий или Книга о Боге
Проза:
историческая проза
рейтинг книги
Андер Арес
1. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
рейтинг книги
Ричард Длинные Руки – эрцфюрст
Фантастика:
фэнтези
рейтинг книги
An ordinary sex life
Любовные романы:
современные любовные романы
love action
рейтинг книги
Место
Проза:
современная проза
рейтинг книги
Тайная история американской империи: Экономические убийцы и правда о глобальной коррупции
Документальная литература:
публицистика
рейтинг книги
Последний реанорец. Том IV
3. Высшая Речь
Фантастика:
фэнтези
рейтинг книги
Йога т4
рейтинг книги
Разбитое окно
8. Райм и Сакс
Детективы:
прочие детективы
рейтинг книги