MouseOut/MouseOver/RollOut/RollOver事件比照

最近要做一个Flex的PropertyGrid,展示属性的方式并没有采用传统的PropertyGird的展示方法,但是主要的用户行为还是需要与传统的PropertyGrid一致的。

PropertyGrid分为两种状态"悬浮"和"内嵌"。状态为悬浮时,鼠标移动到Property MINI选项卡的时候,弹出PropertyGrid主窗体,隐藏MINI选项卡;鼠标移出PropertyGrid主窗体的时候,该窗口关闭,同时显示MINI选项卡。

很习惯的选择了MouseOut事件,即给PropertyGird注册MouseOut事件,当鼠标移出时关闭PropertyGrid。但是经过测试发现,使用该事件时,即使鼠标未移出PropertyGrid,窗口也会关闭。最后不得不写个程序测试下,结果发现,如果PropertyGrid里面含有其他控件,鼠标在这些控件上移动时也会触发MouseOut和MouseOver事件,造成之前逻辑错误。

如果采用RollOut和RollOver事件则不会出现逻辑问题。

区别在于:RollOver和RollOut事件只有鼠标移入移出监听该事件的组件时才会触发,而移入移出其子组件的时候不会触发。MouseOver和MouseOut事件是鼠标移入移出监听该事件的组件以及子组件的时候时触发。

测试代码请见Flash View Source。

测试结果请见Flash。鼠标在面板中移动,DataGrid会显示事件信息。

Flash 链接:http://files.cnblogs.com/jingtao/OnMouseOutTest.rar

 

原创文章,转载请注明出处!
All CopyRight Reserved !

主页:http://jingtao.cnblogs.com

QQ:307073463
Email:jingtaodeemail@qq.com
MSN:sunjingtao@live.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值