2

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

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

并且

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

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

4

2 回答 2

1

我用 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>

Apps 脚本网址在这里

于 2013-06-11T12:32:58.823 回答
0

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

JS:

function selectChange(elt)
{
  elt.changed = true;
  // ...
}
function selectClick(elt)
{
  if (elt.changed) {
    elt.changed = false;
    document.getElementById('myTarget').focus();
  }
}

HTML:

<select id="mySelect" onChange="selectChange(this);" onClick="selectClick(this);"></select>
<input id="myTarget" />
于 2016-06-06T18:24:27.810 回答