Javascript focus()方法不适用于Google Apps脚本

Javascript focus()方法不适用于Google Apps脚本,javascript,dom,google-apps-script,Javascript,Dom,Google Apps Script,在我的Google Apps脚本项目中,我尝试过以各种方式使用focus()方法。我尝试使用这两种方法: $("#elementID").focus(); 而且 document.getElementById("elementID").focus(); 但两者都不起作用。我是错过了什么,还是Caja在给它消毒?另外,如果后者为真,是否有任何解决方法?我使用HtmlService构建了一个页面,它成功了。 检查此代码: 应用程序脚本 function doGet() { return Ht

在我的Google Apps脚本项目中,我尝试过以各种方式使用focus()方法。我尝试使用这两种方法:

$("#elementID").focus();
而且

document.getElementById("elementID").focus();

但两者都不起作用。我是错过了什么,还是Caja在给它消毒?另外,如果后者为真,是否有任何解决方法?

我使用HtmlService构建了一个页面,它成功了。 检查此代码:

应用程序脚本

function doGet() {
  return HtmlService.createTemplateFromFile("pag").evaluate();
}
Html模板

<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<form >
<select id="selectCombo" onchange="setFocus(this)" >   
<option value="1" >A</option>
<option value="2">B</option>
<option value="3">C</option>
</select>     
<input type="text" class="focusField" id="myField" />
</form>   
<script>
function setFocus(obj) {   
  document.getElementById('myField').select();      
}
</script>

</html>

A.
B
C
函数setFocus(obj){
document.getElementById('myField').select();
}

应用程序脚本URL

我有一个类似的问题,为了解决它,我使用了以下方法:

JS:

HTML:



Ok,这很有帮助。但实际上,我正在对字段的onchange()事件使用focus()。所以,这可以说是一个用户输入事件。那么为什么它在这种情况下不起作用呢?你的应用程序脚本链接不起作用。用onclick()触发focus()对我来说也很好。但我需要用onchange()事件触发它。
function selectChange(elt)
{
  elt.changed = true;
  // ...
}
function selectClick(elt)
{
  if (elt.changed) {
    elt.changed = false;
    document.getElementById('myTarget').focus();
  }
}
<select id="mySelect" onChange="selectChange(this);" onClick="selectClick(this);"></select>
<input id="myTarget" />