Как различать события щелчка полосы прокрутки и события перетаскивания полосы прокрутки?

Мне нужно прокрутить сетку EXT-GWT на некоторую пользовательскую величину вместо 1-2 строк по умолчанию. Поскольку я не смог найти какой-либо параметр, который позволил бы мне это сделать, я переопределил обработчик событий для захвата событий прокрутки или колесика мыши. При любом таком событии я просто программно перемещаю скроллер на требуемую величину в том же направлении, сохраняя флажок, чтобы убедиться, что он не переходит в бесконечный цикл.

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

Как-нибудь это можно сделать? Или есть способ указать величину, на которую полоса прокрутки должна прокручиваться за один шаг?

Спасибо
-Самир


person Sameer    schedule 16.04.2010    source источник


Ответы (1)


Можно было схитрить, и если после прокрутки scrollTop будет 0, просто перейти в начало. Немного некрасиво, но решит этот конкретный случай, если он единственный не работает.

person Victor    schedule 16.04.2010