Как тестировать события клавиатуры jQuery?
есть ли способ проверить обработчики событий клавиатуры JavaScript (для keypress
, keyup
, keydown
событий)?
Я знаю, что могу объявить обработчики событий следующим образом:
function keyUpEvHandler(e) {
... // code here
}
$('#myId').keyup(keyUpEvHandler);
а затем просто запустите эту функцию в модульных тестах, но мне придется подготовить объект аргумента события таким же, как и переданный при нажатии фактической клавиши:
var e = {keyCode: 70, ...};
есть ли способ вызвать это событие и передать код ключа в качестве аргумента или чего-то подобного? К сожалению jQuery trigger () docs не охватывает события клавиатуры.
1 ответов
вы можете передавать произвольные данные через объект event.
документы:
var event = jQuery.Event("logged");
event.user = "foo";
event.pass = "bar";
$("body").trigger(event);
что вы можете сделать:
var event = jQuery.Event("keyup");
event.keyCode = 72;
$(".selector").trigger(event);
таким образом, событие, переданное обработчику(обработчикам), будет иметь keyCode
установить, что вы хотите.