如何使用GWT和Chrome捕获Zoom事件

时间:2012-01-16 19:33:16

标签: gwt google-chrome javascript-events

我看过很多关于如何在浏览器中获取当前缩放系数的对话,但我还没有找到为什么这个代码段在Firefox中运行,而不是在Chrome中。

public class MyComposite extends Composite
{
  public MyComposite()
  {
    HTMLPanel panel = new HTMLPanel("<applet>...</applet>");
    panel.addDomHandler(new MouseWheelHandler()
    {
        @Override
        public void onMouseWheel(MouseWheelEvent event)
        {
            event.stopPropagation();
            event.preventDefault();
        }
    }, MouseWheelEvent.getType());
    initWidget(panel);
  }
}

在两种浏览器中,当我在包含applet的div内滚动时,滚动不会传播到父级(这很好)。当我在div之外滚动时,窗口会滚动(这也很好)。

但是当我执行 Ctrl + MouseWheel 时,在Firefox中,处理程序捕获了zoom事件而没有传播,而在Chrome中,似乎没有调用处理程序,然后传播事件。我也希望停止Chrome中的传播。

Chrome中是否存在错误或我做错了什么?

1 个答案:

答案 0 :(得分:0)

后期单挑:这似乎是Chrome中的一个错误。几年前我提交了a report,但似乎并不是他们的优先事项。如果您偶然发现这篇文章并且您也想要这个“功能”,请在该报告上留言,也许它会加速这些事情......