我想在Google文档上模拟键盘事件来更改缩放。
我使用鼠标事件输入标识为zoomSelect
的div:
var button = document.getElementById("zoomSelect");
triggerMouseEvent (button, "mouseover");
triggerMouseEvent (button, "mousedown");
triggerMouseEvent (button, "mouseup");
function triggerMouseEvent (node, eventType) {
var eventObj = document.createEvent('MouseEvents');
eventObj.initEvent (eventType, true, true);
node.dispatchEvent (eventObj);
}
然后我想发一个数字(比方说9)。我尝试了所有这些选项,但它们不起作用。输入未收到按键。我还尝试将事件直接发送到document
(而不是button
),但它不起作用。
使用KeyboardEvent:
var eventObj = document.createEvent("KeyboardEvent");
(eventObj.initKeyEvent || eventObj.initKeyboardEvent)("keypress", true, true, null,
0, 0, 0, 0,
0, character.charCodeAt(9));
button.dispatchEvent(eventObj);
有事件(没有s):
var eventObj = document.createEvent('Event');
eventObj.initEvent('keydown', true, true);
eventObj.keyCode = 105;
button.dispatchEvent(eventObj);
使用活动:
var eventObj = document.createEvent("Events");
(eventObj.initKeyEvent || eventObj.initKeyboardEvent)("keypress", true, true);
eventObj.keyCode = 105;
eventObj.which = 105;
eventObj.ctrlKey = false;
eventObj.shiftKey = false;
eventObj.altKey = false;
button.dispatchEvent(eventObj);
使用新的KeyboardEvent:
button.dispatchEvent(new KeyboardEvent("keypress", {keyCode: 9}));
使用dispatchKeyEvent:
button.dispatchKeyEvent("9");
完整script
答案 0 :(得分:0)
您的-With事件(不带s)将与按键事件一起使用:
var eventObj = document.createEvent('Event');
eventObj.initEvent('keypress', true, true);
eventObj.keyCode = 105;
button.dispatchEvent(eventObj);
您将在文档中光标位置看到一个字符“ i”。 然后调用SAVE API。