我们在我们的应用程序中使用 ExtJS4。我们有网格焦点问题。我们在 ExtJS3 中使用 grid.getView().focusEl.focus()
。现在看来这个不行了。ExtJS4 中这个的替代品是什么?
最佳答案
我已经帮你检查了 ExtJS3 和 ExtJS4 的区别,主要的变化是 focusEl 已从 gridView 元素中删除。
在 ExtJS3 中,focusEl 是 View 中的 anchor 链接
<div class="x-grid3-scroller" id="ext-gen10" style="width: 298px; height: 174px; ">
<div class="x-grid3-body" style="width:100px;" id="ext-gen12">
<div class="x-grid3-row x-grid3-row-first x-grid3-row-last" style="width:100px;">
<table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="width:100px;">
<tbody>
<tr><td class="x-grid3-col x-grid3-cell x-grid3-td-0 x-grid3-cell-first " style="width: 100px;" tabindex="0"><div class="x-grid3-cell-inner x-grid3-col-0" unselectable="on">0</div></td></tr>
</tbody>
</table>
</div>
</div>
<a href="#" class="x-grid3-focus" tabindex="-1" id="ext-gen13"></a>
</div>
在 ExtJS4 中,这个 anchor 链接不存在
解决方案
这是我为您创建的一个小 fiddle test。基本上你需要改变的内容如下:
grid.getView().el.focus();
我们使用整个元素,而不是获取 focusEl(一个 anchor 链接)。
希望这能解决您的问题。