Flex4.6开发问题[1]-HSlider

本文解决在使用Flex框架中的HSlider进度条组件时遇到的一个问题:点击调节进度后,再次滚动鼠标滚轮时,标点位置会移动。通过检查源码发现是由于组件在被选中时会监听mouseWheel事件导致。解决方法是将focusEnable属性设置为false,以避免此行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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即可。


一个很简单的问题,记录下以备后用,其实如果知道了正确的方法,很快就可以解决,方向很重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值