RaY*_*ell 8 jquery events unit-testing qunit keyboard-events
有没有一种方法来测试JavaScript的键盘事件处理程序(keypress,keyup,keydown事件)?
我知道我可以声明这样的事件处理程序:
function keyUpEvHandler(e) {
... // code here
}
$('#myId').keyup(keyUpEvHandler);
Run Code Online (Sandbox Code Playgroud)
然后在单元测试中运行此函数,但我必须准备事件参数对象与按下实际键时传递的相同:
var e = {keyCode: 70, ...};
Run Code Online (Sandbox Code Playgroud)
有没有办法触发这个事件并传递关键代码作为参数或类似的东西?不幸的是,jQuery trigger()docs不包括键盘事件.
geo*_*wa4 16
您可以通过事件对象传递任意数据.
文档:
var event = jQuery.Event("logged");
event.user = "foo";
event.pass = "bar";
$("body").trigger(event);
Run Code Online (Sandbox Code Playgroud)
你可以做什么:
var event = jQuery.Event("keyup");
event.keyCode = 72;
$(".selector").trigger(event);
Run Code Online (Sandbox Code Playgroud)
这样,传递给处理程序的事件将具有keyCode您想要的任何设置.
| 归档时间: |
|
| 查看次数: |
3231 次 |
| 最近记录: |