Ввод HTML на изменении значения

У меня есть входной тег. Этому тегу не выключили функцию автоматического заполнения, таким образом, нужно не обязательно отпустить клавишу, чтобы изменить значение этого поля и сфокусировать другой. Мой вопрос: как я могу обнаружить КАКИЕ-ЛИБО изменения значения этого конкретного поля, как, например.

<input onvaluechange="//do following..." />

Атрибут JavaScript onchange не стреляет в изменение значения, только на изменениях как размытость, фокус, и т.д...

Править: Это также не обязательно - нажатие клавиши. Из-за автозавершения, пользователь может просто щелкнуть мышью по результату автозавершения для изменения значения. Это не стреляло бы onkeydown событие.

5
задан Benjamin 23 May 2014 в 09:01
поделиться

3 ответа

Это также не обязательно является нажатием клавиши. Из-за автозаполнения

... и многих других операций, не связанных с ключами, таких как щелчок правой кнопкой мыши, вырезание / вставка, перетаскивание, отмена / повтор, корректировка орфографии и так далее.

HTML5 определяет событие oninput для отслеживания всех прямых изменений.

К сожалению, поддержки браузеров сегодня нет (нет поддержки в IE, и есть некоторые ошибки в других), так что все, что вы можете сделать, если вам действительно нужно обнаруживать все изменения входного значения раньше, чем onchange заключается в использовании setInterval для добавления опросчика, который постоянно сравнивает с предыдущим значением.

12
ответ дан 12 December 2019 в 21:49
поделиться

Вы можете использовать onKeyPress для отслеживания изменений, вводимых пользователем.

Например:

<input type='input' onKeyPress='SomeScriptMethod();'>
1
ответ дан 12 December 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: