Событие нажатия клавиши запускается, пока нажата клавиша, до того, как произошло поведение по умолчанию. Это позволяет сценариям отменять поведение по умолчанию (например, заполнение поля ввода) с помощью метода event.preventDefault()
.
Используйте событие keyup
, если вам нужно событие, которое вызывается при изменении входного значения.
Кроме того, поскольку $("input#selText")
указывает на себя, вы также можете использовать $(this).val()
. Дальнейшая оптимизация будет состоять из использования this.value
, который поддерживается повсеместно.
$("#seltxt").keyup( function(event) {
$('#' + objid).text(this.value);
});
Заключительная записка о ключевых событиях
keydown
- срабатывает один раз, сразу после нажатия клавиши. Может использоваться для предотвращения первого события по умолчанию.
keypress
- возможно, запускается несколько раз, пока нажаты клавиши. Может использоваться для предотвращения поведения по умолчанию (keydown
срабатывает только один раз, если вы удерживаете нажатой клавишу, поведение по умолчанию будет происходить, если вы не определите событие keypress
)
keyup
- срабатывает после отпускания ключа. Использование event.preventDefault()
не может предотвратить изменение текста при вводе с клавиатуры.