У меня есть одно поле формы, и я должен быть в состоянии определить, когда поле изменяется, и выполнить некоторый дополнительный код, используя значение поля new .Я хочу выполнить код только в том случае, если нажатая клавиша фактически изменяет значение текстового поля.Вот решение, которое я придумал.
function onkeypress(e) {
var value = this.value;
// do something with
}
function onkeyup(e) {
if ( e.which == 8 || e.keyCode == 46 ) { // delete or backspace keys
this.onkeypress(e);
}
}
Хотя есть только одна проблема.Onkeypress запускается до обновления значения поля, поэтому, когда я получаю значение, я получаю предыдущее значение.Я бы использовал keyup исключительно, если бы знал способ проверить, изменила ли клавиша значение или нет, но некоторые символы (например, клавиши со стрелками) не влияют на значение поля.
Есть идеи?