2013-05-08 3 views
2

Это может быть артефакт, но он вполне воспроизводимый (только IE) в парах Grid, которые я построил с момента перехода на SlickGrid V2 (никогда не видел этого в предыдущей версии). Когда пользователь изменяет размер столбца, также срабатывает метод Resort, который, конечно же, прибегает к колонке.
Я также сделал это (который не имеет никакого эффекта):SlickGrid V2 column Триггеры изменения размера Сортировка

grid.onColumnsResized.subscribe(function(e, args) { 
    e.stopImmediatePropagation(); 
    e.stopPropagation(); 
    // alert('resized'); 
    return false; 
}); 

Но, когда я не включать оповещения ... все работает как надо (не курорт). Итак ... Я думаю, что это вопрос времени. Я установил ложный таймер на 2 секунды (не делает ничего, кроме времени), и это тоже не действует (все еще прибегает). Может кто-нибудь объяснить, что происходит, и почему alert, похоже, позволяет всем нормально работать. Также не имеет значения, пользуюсь ли я местным курортом или стандартным методом SlickGrid Resort.

Благодаря

+0

В какой версии IE вы находите эту проблему? SlickGrid явно не поддерживает IE6. https://github.com/mleibman/SlickGrid/wiki – mmitchell

+0

Думал, что упомянул об этом, но я не думаю ... IE8 и, возможно, другие, но это все, что у меня есть. – user1415445

+0

Извините за супер-поздний ответ. Я подумал, что кто-то еще до этого добрался. :)) – mmitchell

ответ

1

В основном проблема заключается в том, что IE является запуская событие щелчка на колонке при изменении размера. Если заголовок столбца находится под вашим курсором при нажатии кнопки мыши, этот столбец будет использоваться.

Что касается поля предупреждения, события браузера запускаются в определенном порядке. В IE dragend (который запускает onColumnsResized) запускается перед щелчком (который запускает курорт). Поскольку они не одного типа, прекращение распространения ничего не даст, но возможно, что всплывающее окно предупреждения предотвращает регистрацию призрачного клика в заголовке столбца.

Это то, над чем нужно работать в библиотеке SlickGrid, а не в коде, который его использует.

Смежные вопросы