【发布时间】:2020-02-04 01:34:57
【问题描述】:
我正在尝试在用户键入时修改 Google 文档的某些部分。
具体来说,我想添加一个功能来缩进多行文本。这意味着当用户选择多行文本,然后单击“tab”键时,它应该缩进所有这些行
为此,我认为除了使用以下命令读取选择之外,我还必须获取用户正在输入的任何内容的当前 keyCode:
var doc = DocumentApp.getActiveDocument().getCursor();
var els = doc.getElement(),
txt = els.asText().getText()
我已经在工作了。 但问题是:
在我的客户端,当我这样做时:
window.addEventListener("keyup", function(e) {
console.log(e.keyCode);
})
只有在用户选择侧边栏时才会激活,而不是在用户输入谷歌文档本身时激活。
我明白为什么会这样,因为应用程序在 iframe 内的 iframe 中运行,但我仍然认为可能有一种方法可以以某种方式获取按下的键,或者至少以某种方式确定用户是否尝试按下选项卡关键与否。
那么:有什么方法可以检测用户是否按下了 tab 键,或者有没有其他方法可以使用 google 应用脚本轻松缩进多行?最好不要求用户单击应用程序脚本本身的按钮,但如果这是唯一的方法,那就这样吧......但是有没有可能的方法来获取用户在 google doc 本身上按下了哪些键?
【问题讨论】:
标签: javascript events google-apps-script iframe dom-events