我有一个字段可以在您键入时“更正”自身。我们编写了一些代码,可以在按下箭头键时阻止此功能:
handleKeyUp: function(e) {
var arrowKeys = _.range(37, 41),
key = e.which;
// allow user to move cursor by keyboard
if ($.inArray(key, arrowKeys) < 0) {
this.removeInvalidCharacters();
}
},
我们想为此编写一个单元测试;但是,我们不知道如何通过 $input.trigger('keyup')
传递 e.which
。我知道触发器的第二个参数允许我们发送“额外选项”;但是,这只是将更多值传递给 handleKeyUp
函数。有想法吗?
最佳答案
试试这个 -
var e = $.Event("keyup");
e.which = 37;
$input.trigger(e);
http://api.jquery.com/category/events/event-object/
As of jQuery 1.6, you can also pass an object to jQuery.Event() and its properties will be set on the newly created Event object.
// Create a new jQuery.Event object with specified event properties.
var e = jQuery.Event("keydown", { keyCode: 64 });
// trigger an artificial keydown event with keyCode 64
jQuery("body").trigger( e );
关于jquery - 如何触发 keyup 事件并传递 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16348483/