2

我想编写单击输入框的脚本。

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

代码.gs:

function doGet(e) {

  return HtmlService.createHtmlOutputFromFile('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。这可能是问题吗?

4

1 回答 1

2

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

于 2013-03-13T14:29:42.727 回答