проблема фокусировки сетки в ExtJS4 - PullRequest
4 голосов
/ 22 июля 2011

Мы используем ExtJS4 в нашем приложении. У нас проблема с фокусом сетки. Мы используем grid.getView().focusEl.focus() в ExtJS3. Теперь кажется, что это не работает. Что является заменой этому в ExtJS4.

1 Ответ

6 голосов
/ 22 июля 2011

Я помог вам проверить различия в 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 (якорной ссылки) мы используем весь элемент.

Надеюсь, это решит вашу проблему.

...