我已经尝试在我的 Google Apps 脚本项目中通过各种方式使用 focus() 方法。我尝试使用这两种方法:
$("#elementID").focus();
并且
document.getElementById("elementID").focus();
但两者都不起作用。我错过了什么还是 Caja 正在对其进行消毒?另外,如果后者是真的,是否有任何解决方法?
我已经尝试在我的 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>
Apps 脚本网址在这里
我有一个类似的问题,为了解决它,我使用了这种方法:
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" />