focus - 无法使用 HtmlService 简单地强制将焦点集中在独立 Google 应用程序中的文本输入上?

标签 focus google-apps-script textinput

我想编写一个点击输入框的脚本。

这是一个例子,其中 focus() 应该做到这一点,但事实并非如此!为什么?

代码.gs:

function doGet(e) {

  return HtmlService.createHtmlOutputFromFile('myFile');

}  

myFile.html:

<input type="text" id="new" onchange="adding(this)"/>

<div id="data"></div>

<script>

   document.getElementById('new').focus();

   function adding(a){

      document.getElementById('data').innerHTML += a.value;

      a.value = '';
   }

</script>

我也尝试过将 focus() 放入其自己的函数中,并拥有一个其 onload 调用该函数的 body 元素,但没有成功。

有效的是有一个按钮,其 onclick 调用该函数,因此 focus() 最终会变为事件状态。我可以使用其他事件来触发它吗?

我使用的是 Chromebook。这可能是问题所在吗?

最佳答案

这是 Caja 有意做出的安全决定。某些容易(在网络上)严重恶意滥用的函数,例如submit()和focus(),只能在用户启动的事件(例如单击按钮)的上下文中执行。

关于focus - 无法使用 HtmlService 简单地强制将焦点集中在独立 Google 应用程序中的文本输入上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15387457/

相关文章:

java - 有没有办法取消 javafx 中的焦点?

jQuery:如何判断选项卡/窗口何时获得焦点

javascript - 在 Google 表格中按列名将单元格值从一个工作表提取到另一个工作表

javascript - numberOfLines TextInput 属性不起作用

react-native - 如何从 TextInput 获取值

css - IE8 :focus causes issue - need to double click

javascript - 哪个 HTML 元素失去了焦点?

csv - 将新的 CSV 数据附加到 Google 表格

javascript - Google 电子表格脚本编辑器中的 IEFE(立即执行函数表达式)

android - Phonegap、jQuery Mobile、Android、文本输入后工具栏不再固定