1、HSlider的鼠标滚轮事件
HSlider是Flex中的进度条组件,在记录播放进度时会使用到。遇到了一个问题,就是在部分浏览器下,点击进度条调节进度后,再滚动鼠标滚轮时标点的位置会随着移动。明显是触发了MouseEvent的Wheel事件。但是在试图重写对wheel事件的处理方法以解决这个问题时,却发现在HSlider上进行的监听无效。着实困扰了一阵,没办法,查源码吧。从HSlider及其父类中查找关于wheel的代码;路径:HSlider-->SliderBase-->TrackBase,终于在注释中这里找到这样一句话,If the component is in focus, then it should respond to mouseWheel events. We listen to these events on systemManager in the capture phase because this behavior should have the highest priority.
这里就是问题的源头了,选中的时候会监听mouseWheel事件,那么在前端引用HSlider组件的地方设置focusEnable属性值为false即可。
一个很简单的问题,记录下以备后用,其实如果知道了正确的方法,很快就可以解决,方向很重要。