4

アプリケーションではExtJS4を使用しています。グリッドフォーカスに問題があります。ExtJS3で使用grid.getView().focusEl.focus()しています。現在、これは機能していないようです。ExtJS4でこれを置き換えるものは何ですか。

4

1 に答える 1

6

ExtJS3とExtJS4の違いを確認するのを手伝いました。主な変更点は、focusElがgridView要素から削除されたことです。

ExtJS3では、focusElはビューのアンカーリンクです

<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では、このアンカーリンクは存在しません

解決

これは私があなたのために作成した小さなフィドルテストです。基本的に、変更する必要があるのは次のとおりです。

grid.getView().el.focus();

focusEl(アンカーリンク)を取得する代わりに、要素全体を使用します。

これで問題が解決することを願っています。

于 2011-07-22T15:04:58.057 に答える