我正在尝试使用 JavaScript 在浏览器中模拟用户输入。单击事件已成功创建和分派,但由于某些原因,键盘事件的类似代码似乎根本不起作用。
var event = document.createEvent("KeyboardEvent");
event.initKeyEvent("keydown", true, true, window, false, false, false, false, 87, 0);
document.getElementById("id").dispatchEvent(event);
这将返回 true,但相应的字符不会出现在输入中。我也尝试过 keypress 和 keyup 也不起作用(针对 FF 和 Chrome 进行了测试)。浏览器是否出于某些安全原因禁止它,或者我做错了什么?有没有办法让它工作?