【发布时间】:2016-11-22 21:08:54
【问题描述】:
我有两个滚动面板,尝试实现它们同时垂直滚动,代码如下
//leftSide and rightSide class has scrollPanel
final ScrollPanel scrollPanelLeft = leftSide.getScrollPanel();
final ScrollPanel scrollPanelRight = rightSide.getScrollPanel();
leftSide.removeMouseHandlers();
leftSide.removeScrollHandler();
HandlerRegistration mouseWheelScrollHandler =
scrollPanelLeft.addDomHandler(new MouseWheelHandler() {
@Override
public void onMouseWheel(MouseWheelEvent event) {
int currentVertPos =
scrollPanelLeft.getVerticalScrollPosition();
if (!lockSide)
scrollPanelRight.setVerticalScrollPosition(currentVertPos);
}
}, MouseWheelEvent.getType());
leftSide.addScrollHandler(mouseWheelScrollHandler);
leftSide.addHandler(mouseWheelScrollHandler);
当在左侧滚动时,右侧移动到相同的垂直位置,但是,然后左侧再次自身移动(向下滚动),所以右侧似乎滞后并且不能同时。似乎左侧运行默认滚动鼠标滚轮事件。如何禁用它或以其他方式使它们同时垂直滚动?感谢您的帮助?
【问题讨论】: