我有一个Dojo Datagrid,其中一列被格式化器函数呈现为文本框。当我单击呈现的文本框输入某个值时,光标出现在文本框中,焦点立即丢失(即光标消失--键入不会产生任何结果)。我必须再次单击文本框以设置焦点--只有这样我才能输入值。
有没有办法把焦点设置在第一次点击本身上?
下面是代码:
<table dojoType="dojox.grid.DataGrid" store="selectedItemsStore" class="resultsGridClass" jsid="selecteditems">
<thead>
<tr>
<th field="field1" formatter="renderTextBox" width="20%">Field 1</th>
</tr>
</thead>
</table>
下面是格式化器函数:
function renderTextBox(value, rowIndex) {
var htmlString = "<input type='text' name= 'exp' />";
return htmlString;
}
4条答案
按热度按时间lsmd5eda1#
bis0qfac2#
尝试将editable和alwaysEditing属性设置为true:
91zkwejq3#
创建
dojox.grid.EnhancedGrid
的示例时,使用singleClickEdit
属性并将其设置为true
。这将在第一次单击时将焦点设置在文本框或任何其他小部件上。
khbbv19g4#
在我的例子中,下面的代码可以完美地解决文本框焦点问题:
其中
this.floorTable
是表格对象。