我正在尝试创建一个Chrome扩展程序来修改流行的浏览器游戏Agar.io的控件。游戏中的快速摘要SPACE执行拆分操作。我想执行相同的操作,但按D而不是SPACE。扩展工作正常。它检测到D已被按下并调用了我的split()函数;我知道这是因为警报弹出但实际的游戏动作没有执行。我环顾四周,尝试了不同的方式,但没有任何工作。下面是我的JS文件。
window.addEventListener('keydown', keydown);
function keydown(event) {
if (event.keyCode == 68) { //key D
split();
}
}
function split() {
$("body").trigger($.Event("keydown", { keyCode: 32}));
$("body").trigger($.Event("keyup", { keyCode: 32}));
alert("Did it work?");
}
也试过这种方法但没有成功:
var space = jQuery.Event("keydown");
space.which = 32;
$("body").trigger(space);
如此问题所示[使用jQuery触发按键事件的明确方法
] 1
答案 0 :(得分:0)
我能够解决问题。代码本身是正确和实用的,但问题在于我设置chrome扩展的方式。应用此处找到的解决方案https://stackoverflow.com/a/9517879/4651794我能够运行代码。不确定这个问题是否有任何优点,因为我认为问题在于关键命令。