冒泡的滚动/鼠标事件

| 我已经设置了我的应用程序/网站,以便在滚动面板顶部有一个绝对定位的canvas元素,当滚动面板滚动时,我在画布上应用offset以使其看起来像图像在滚动(这使我可以拥有巨大的画布,而没有巨大的canvas元素的开销)。问题是,当鼠标悬停在canvas元素上时,滚轮不起作用,因为滚动事件不会冒泡。但是,在这种情况下,我需要冒泡才能使滚动条起作用。 我为此使用了GWT,所以我宁愿不要依赖jQuery解决方案(尽管可以使用纯javascript解决方案也可以),因为很难将两者混为一谈。我可以捕获mousewheel事件,但是主要的问题是它似乎无法区分滚动(向上/向下)和滚轮倾斜(向左/向右)。我尝试了eventGetShiftKey(),eventGetButton(),eventGetType()和其他一些方法,但是所有这些方法对于滚动和倾斜都返回相同的精确结果(向左倾斜=向上滚动,向右倾斜=向下滚动)。 似乎最好的解决方法是将实际事件冒泡到滚动面板(顺便说一下,该事件还包含包含绝对位置画布的父div),但是我不确定这是否可能?     
已邀请:
        鼠标滚轮事件会冒泡,请使用
event.wheelDelta
event.detail
属性来区分上/下滚动。 MSDN:onmousewheel事件(IE,WebKit)   event.wheelDelta指示滚轮按钮旋转的距离,以120的倍数表示。正值表示滚轮按钮已经旋转远离用户。负值表示滚轮按钮已向用户旋转。 MDC:DOMMouseScroll(Gecko)   event.detail指定鼠标滚轮移动的\“ ticks \”数量。正值表示向下/向右,负向上/向左。   event.axis指定滚动手势的轴(水平或垂直)。此属性是在Firefox 3.5中添加的 另请参阅本文,其中讨论了标准化问题。     

要回复问题请先登录注册