首页 新闻 搜索 专区 学院

关于鼠标事件.

0
悬赏园豆:20 [已解决问题] 解决于 2010-12-10 10:28

我的要求是:

1.在鼠标进入窗体后,执行一段代码

  在鼠标离开窗体后,执行一段代码

我使用了mouseleave和mousemove这两个事件,但是他们会同时执行,会冲突。

如何解决这个问题。

依然、依旧的主页 依然、依旧 | 初学一级 | 园豆:4
提问于:2010-12-08 17:57
< >
分享
最佳答案
0

mouseenter与mouseleave是指鼠标进入或离开窗体的可见部分时发生的,至于mousemove是移过组件发生的。

这个案例对你理解有好处:

将Panel作为一个容器,里面放置了若干按钮,当鼠标移至Panel时,Panel划入屏幕,鼠标离开时划出,但通过MouseLeave事件实现,只要鼠标移至按钮上就会激发MouseLeave事件,而此时鼠标仍在Panel的整体范围内。而如果通过mousemove事件实现,则不会出现这样的问题。

原因是:button遮住了panel的可见部分,于是发生mouseleave事件,但不会发生mousemove事件。而假如你鼠标彻底离开panel,则两个事件同时触发。

收获园豆:20
BLoodMaster | 初学一级 |园豆:135 | 2010-12-08 19:01
其他回答(1)
0

我想不是同时执行

他们的处理肯定会有先后顺序的

火地晋 | 园豆:106 (初学一级) | 2010-12-08 18:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册