javascript - Google Apps脚本从文档获取键码事件

标签 javascript events google-apps-script iframe dom-events

我试图在用户输入时修改 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);
    })

仅在用户选择侧边栏时激活,但在用户输入 Google 文档本身时不会激活。

我明白为什么会这样,因为应用程序在 iframe 中的 iframe 中运行,但我仍然认为可能有一种方法可以以某种方式获取按下的键,或者至少以某种方式确定用户是否尝试按选项卡是否有 key 。

那么:有什么方法可以检测用户是否按下了 Tab 键,或者是否有其他某种方法可以使用 google apps 脚本轻松缩进多行?最好不要求用户单击应用程序脚本本身上的按钮,但如果这是唯一的方法,那就这样吧...但是有没有可能的方法来获取用户在谷歌文档本身上按下的键?

最佳答案

这在 Google 文档中是不可能的。您要求使用“onEdit”或“onChange”触发器,但不幸的是,它们仅在 Google 表格中可用,而在文档中不可用。您可以使用此Add-on triggers page中列出的表查看所有 Apps 脚本(不仅仅是附加组件)中可用的触发器。

关于javascript - Google Apps脚本从文档获取键码事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60049405/

相关文章:

javascript - FullCalendar 中的重复事件

javascript - 如果没有 ID,是否可以通过 JavaScript 访问 JSON-LD?

events - 如何等待某些文本显示在 Pane 中

javascript - 如何创建一个事件监听器来检测 bool 变量是否变为真?

javascript - 如何在javascript中使用href attrib scriptlet动态加载页面

google-apps-script - 当单元格更改文本时更改行颜色的脚本

javascript - ES6 类多重继承

javascript - AngularJS:无法解析 JSON 列表

javascript - 在人力车、jquery 或 d3.js 中显示图像悬停图

java - 混搭键导致无效输入