带有键代码参数Jquery的模拟按键功能

Simulated key press function with key code arguments Jquery

本文关键字:模拟 功能 参数 代码 Jquery      更新时间:2023-09-26

我正在构建一个模拟按键事件的函数,并采用了SO文章中的方法。

所以我写了这个,用两个关键代码的参数和它应该触发的时间。

function keypress_sim(key_code1, key_code2, time){
var key = 0;
var rand_proxy = Math.floor(Math.random() * 2) + 1;
if(rand_proxy == 1){
    key = key_code1
} else {
    key = key_code2
};
var e = $.Event("keypress",{
    keyCode: key
});
var fire = time;
setTimeout($(document).trigger(e), fire);
$("<div></div>").appendTo('body').text(key);
$("<div></div>").appendTo('body').text(fire);
}
keypress_sim(101,105,100,1500);

这不像a)如果我把它放在一个间隔中,它仍然只运行一次,b)它返回一个"未知标识符"错误。我希望这个函数用于"测试运行"我在Jquery中编写的一些任务,而不必自己完成所有按键。

我的错误在哪里?

这:

setTimeout($(document).trigger(e), fire);

应该是这样的:

setTimeout(function() { $(document).trigger(e) }, fire);

前者是调用函数并将返回值作为参数传递给setTimeout,后者是将函数作为参数传递到setTimeout