Javascript 谷歌文档模拟键盘
我需要在谷歌文档中使用JavaScript模拟键盘,以便能够打印或删除光标位置上的字符。Javascript 谷歌文档模拟键盘,javascript,google-docs,keypress,Javascript,Google Docs,Keypress,我需要在谷歌文档中使用JavaScript模拟键盘,以便能够打印或删除光标位置上的字符。 不幸的是,模拟按键事件的解决方案不适合我。我尝试了使用jQuery和不使用jQuery。 经过调查,我发现谷歌文档有虚拟键盘。单击虚拟键可调用此功能: C.MOa = function(a) { this.dispatchEvent(new Q(Td, {keyCode: a})) }; 其中,Td是字符串“action”和Q某个事件类。 使用java脚本发送此事件的正确方法是什么?谷歌文档中还有其他
不幸的是,模拟按键事件的解决方案不适合我。我尝试了使用jQuery和不使用jQuery。
经过调查,我发现谷歌文档有虚拟键盘。单击虚拟键可调用此功能:
C.MOa = function(a) {
this.dispatchEvent(new Q(Td, {keyCode: a}))
};
其中,Td
是字符串“action”和Q
某个事件类。使用java脚本发送此事件的正确方法是什么?谷歌文档中还有其他模拟键盘的方法吗?似乎谷歌文档有特殊的iframe来处理键盘事件。以下是它的内容:
<html>
<head></head>
<body spellcheck="false" role="textbox" aria-label="Document content" contenteditable="true" style="background-color: transparent;"></body>
</html>
只需将键盘事件发送到此文档,即可在google文档上打印字符。在google文档的控制台中粘贴以下代码
const input = document.querySelector(".docs-texteventtarget-iframe").contentDocument.activeElement;
// Insert the character in the document and trigger the save API call
const eventObj = document.createEvent("Event");
eventObj.initEvent("keypress", true, true);
eventObj.keyCode = 105;
input.dispatchEvent(eventObj);
您将看到在文档中插入字符“i”。正如关于jQuery事件的注释:使用
$(elm)发出的事件。触发器(yourEvent)
不是真正的事件,也不是真正的DOM冒泡(至少在我上次查看jQuery时是这样),因为这些事件仅由jQuery本身检测。