У нас есть собственное числовое текстовое поле в asp.net. В событии oninput ввод проверяется на недопустимые символы и устанавливается значение текстового поля. Событие OnChange обрабатывается для выполнения некоторых действий после того, как пользователь покидает текстовое поле. Это работает в Firefox, Chrome и IE8.
В IE9 событие onchange больше не запускается после того, как текст установлен в предыдущем событии.
Это проблема вкратце:
<input type="text" onKeyDown="this.value=this.value;" onChange="alert('test');" />
В этом примере событие onChange не будет запускаться в IE9.
Неважно, какое событие вы используете, OnKeyDown, OnInput, OnPropertyChange или что-то еще. Когда вы меняете OnKeyDown на "", OnChange срабатывает.
Есть идеи, почему это больше не работает в IE9, и как это исправить? Спасибо!
Обновление: я проверял, срабатывает ли onChange, когда я покидаю текстовое поле клавишей TAB.
Onchange не запускается в IE9, когда вы нажимаете tab, но он срабатывает, когда вы покидаете текстовое поле щелчком мыши где-то на форме.
Так почему же происходит событие onchange при выходе из текстового поля щелчком мыши, а не нажатием клавиши табуляции?