Мне нужно вызвать событие изменения ввода, но только если значение изменилось. И мне это нужно сделать с клавиатуры. Есть ли способ вызвать механизм изменения браузера, который либо инициирует событие изменения для запуска, либо не зависит от того, было ли изменено значение?Событие изменения ввода при размытии
Пример:
User clicks on an input field
User does not modify value of the field
user presses a key causing the input field to blue
onchange does not get triggered.
против
User clicks on an input field
User modifies the value of the field
user presses a key causing the input field to blue
onchange gets triggered.
Возможно ли это? Или мне нужно сделать значение сохранения onfocus, сравнить onblur и, возможно, вызвать onchange, но только если onchange еще не был вызван, потому что пользователь просто переместился, нажав vs, скажем, триггер клавиатуры.
В основном, когда я нажимаю ввод в поле ввода, я имитирую нажатие клавиши табуляции, фокусируясь на следующем поле ввода (не обсуждая эту проблему). Однако мне нужно, чтобы мои обработчики изменений запускались, если элемент ввода меняет значение. Просто сосредоточение внимания на следующем поле не вызывает встроенный механизм изменения браузера. Использование jquery .focus() в следующем поле или .blur() для текущего не вызывает обработку изменений. Мне нужно вручную вызывать .change(), но я не хочу, чтобы это произошло, когда значение не было изменено, и я не хочу, чтобы он дважды вызывался, если пользователь нажимает на другое поле, вызывая его. –
Вы пробовали обработчик onchange на самом поле - http://www.w3.org/TR/html401/interact/scripts.html#adef-onchange? – Cebjyre
Я использую jQuery 1.2.6 для обработки событий. Я буду экспериментировать дальше. –