jquery(或纯js)模拟按下回车键进行测试

eivnm1vs  于 5个月前  发布在  jQuery
关注(0)|答案(2)|浏览(64)

模拟用户按下“enter”的最佳方法是什么?$(element).keypress()似乎不允许我传入实际按下的键。
这是单元测试。

omjgkv6w

omjgkv6w1#

Demo Here

var e = jQuery.Event("keypress");
e.which = 13; //choose the one you want
e.keyCode = 13;
$("#theInputToTest").trigger(e);

字符串

2izufjch

2izufjch2#

对于那些想在纯JavaScript中做到这一点的人,请看:

使用标准KeyboardEvent

正如Joe评论的那样,KeyboardEvent现在是标准。
同样的例子来激发一个回车(keyCode 13):

const ke = new KeyboardEvent('keydown', {
    bubbles: true, cancelable: true, keyCode: 13
});
document.body.dispatchEvent(ke);

字符串
您可以使用this page帮助您找到正确的键盘事件。

过时的答案

你可以这样做(这里是Firefox)

var ev = document.createEvent('KeyboardEvent');
// Send key '13' (= enter)
ev.initKeyEvent(
    'keydown', true, true, window, false, false, false, false, 13, 0);
document.body.dispatchEvent(ev);

相关问题