我有一个字段,当你输入时"纠正"自己.我们编写了一些代码,当按下箭头键时会阻止此功能:
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();
}
},
Run Code Online (Sandbox Code Playgroud)
我们想为此写一个单元测试; 但是,我们无法弄清楚如何e.which
通过$input.trigger('keyup')
.我知道触发器的第二个参数允许我们发送"额外选项"; 但是,这只会将更多值传递给handleKeyUp
函数.想法?
Moh*_*dil 14
试试这个 -
var e = $.Event("keyup");
e.which = 37;
$input.trigger(e);
Run Code Online (Sandbox Code Playgroud)
http://api.jquery.com/category/events/event-object/
从jQuery 1.6开始,您还可以将对象传递给jQuery.Event(),并在新创建的Event对象上设置其属性.
// 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 );
Run Code Online (Sandbox Code Playgroud)