В IE7 первый щелчок по сетке заставляет ExtJS Ext.grid.GridPanel переходить в верхнюю часть страницы. - PullRequest
3 голосов
/ 13 мая 2011

У меня странная проблема с массивом ExtJS gridPanel с питанием от массива - только в IE7, до запуска события rowclick, когда я нажимаю на строку, страница прокручивается вверх на 2-3 строки. При повторных щелчках страница прокручивается вверх, пока страница не окажется вверху страницы. Тогда только обработчики строк передаются моему обработчику. У меня только два слушателя, зарегистрированных на этой сетке:

 
        listeners: {
            rowclick:function(grid, rowIndex, e) {
             ... my handler
            },
            sortchange : function(grid, rowIndex, e){}

У вас есть идеи?

Ответы [ 2 ]

3 голосов
/ 17 мая 2011

Я столкнулся с подобной ошибкой в ​​Internet Explorer 7. Для меня zoom: 1; позиция: относительная; на окружающем контейнере помогло форсировать свойство layout

2 голосов
/ 19 марта 2012

Попробуйте этот патч

Ext.override(Ext.selection.RowModel, {
    onRowMouseDown: function(view, record, item, index, e) {
        //IE fix: set focus to the first DIV in selected row
        Ext.get(item).down('div').focus();

        if (!this.allowRightMouseSelection(e)) {
            return;
        }

        this.selectWithEvent(record, e);
    }
});

На самом деле можно использовать любой «фокусируемый» элемент (tr и td - нет).

...