【发布时间】:2018-09-26 05:02:43
【问题描述】:
我想使用键盘快捷键来更改谷歌文档中选定文本的颜色。
我可以通过 id 获取按钮元素,但是当我向该元素发送 click() 时,什么也没有发生(这是我尝试使用用于调试的粗体按钮,因为它比我想要使用按钮 @987654322 执行的操作更简单@)
var button = document.getElementById("boldButton");
alert(button.innerHTML); // working
button.click(); // not working
我也想获取选择然后应用样式,但 getSelection 是空的:
var text = document.getSelection();
alert(text); // empty
到目前为止,这是我的脚本:
// ==UserScript==
// @name Google docs
// @match https://docs.google.com/document/d/#######
// @require http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
// @require http://cdnjs.cloudflare.com/ajax/libs/sugar/1.3/sugar.min.js
// ==/UserScript==
var editingIFrame = $('iframe.docs-texteventtarget-iframe')[0];
if (editingIFrame) {
editingIFrame.contentDocument.addEventListener("keydown", hook, false);
}
function hook(key) {
if (key.ctrlKey && key.altKey && key.code === "KeyE") {
var button = document.getElementById("boldButton");
button.click(); // not working
}
}
【问题讨论】:
-
试试 button.dispatchEvent(new MouseEvent('click', {bubbles:true}))
-
感谢您的帮助 wOxxoM 但仍然无法正常工作。
标签: javascript google-docs userscripts tampermonkey