猿问

jquery(或纯js)模拟按下输入键进行测试

jquery(或纯js)模拟按下输入键进行测试

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

这是用于单元测试。


HUWWW
浏览 1405回答 2
2回答

慕田峪9158850

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

暮色呼如

对于那些想要在纯JavaScript中执行此操作的人,请查看:过时的:适用于IE9 +,Chrome和Safari的initKeyboardEvent适用于Firefox的initKeyEvent你可以做类似的事情(这里适用于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);更新:正如乔评论它,KeyboardEvent现在是标准。触发输入(keyCode 13)的相同示例:const ke = new KeyboardEvent("keydown", {     bubbles: true, cancelable: true, keyCode: 13});document.body.dispatchEvent(ke);您可以使用此页面帮助您找到正确的键盘事件。
随时随地看视频慕课网APP
我要回答