关于AS2.0和AS3.0中使用enabled的问题
用AS3.0的时候,使用enabled设置按钮的可用性。突然发现即使 enabled=false后,按钮依然可以点击。而换用flash8使用2.0代码确发现一切正常。当时以为是CS4的问题。就匆忙换上CS3,哪知道 CS3问题依旧。于是乎又以为是电脑问题。便换了台电脑测试。结果问题照旧。
后来才明白原来不是计算机和软件的问题,是我认识上的问题。
原来在2.0的时候由于按钮大多不必使用事件侦听器。所以当把按钮可用性设置为false的时候,按钮和按钮上的交互自然就全部被设为不可用了。而在3.0当中,由于事件处理机制的改变。所有事件皆由统一的事件侦听器监听处理。所以在我把某按钮可用性设为false的时候。按钮本身的可用性的确是全部不可用了。(例如:按下,移上效果)但我为该按钮设置的事件侦听器依然在正常工作。当我点击按钮时,虽然按钮本身的交互性是失去了。但事件侦听器依然在运作,所以就监听到我的点击,并正常的处理。这就使我产生了enabled属性失效的错觉。
所以要记住的是。如果想去掉某个按钮的所有交互,一定要在使用enabled属性的同时,使用removeListener移除该按钮的事件侦听。
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例