Что лучший способ состоит в том, чтобы моделировать пользователя, вводящего текст в поле ввода текста в JS и/или jQuery?
Я не хочу на самом деле помещать текст в поле ввода, я просто хочу инициировать все обработчики событий, которые обычно инициировать пользователем, вводящим информацию в поле ввода. Это означает фокус, keydown, нажатие клавиши, keyup, и размытость. Я думаю.
Таким образом, как можно было бы выполнить это?
Вы можете вызвать любое из этих событий прямым вызовом, например, так:
$(function() {
$('item').keydown();
$('item').keypress();
$('item').keyup();
$('item').blur();
});
Это делает то, что вы пытаетесь сделать?
Вероятно, вам также следует вызвать .focus()
и, возможно, .change()
Если вы хотите вызвать ключевые события с определенными клавишами, вы можете сделать это следующим образом:
$(function() {
var e = $.Event('keypress');
e.which = 65; // Character 'A'
$('item').trigger(e);
});
Здесь есть интересное обсуждение событий нажатия клавиш: jQuery Event Keypress: Which key was pressed?, в частности, относительно кросс-браузерной совместимости со свойством .which.