关于鼠标事件.

我的要求是:

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

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

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

如何解决这个问题。


慕容森
浏览 323回答 2
2回答

幕布斯6054654

mouseenter与mouseleave是指鼠标进入或离开窗体的可见部分时发生的,至于mousemove是移过组件发生的。这个案例对你理解有好处:将Panel作为一个容器,里面放置了若干按钮,当鼠标移至Panel时,Panel划入屏幕,鼠标离开时划出,但通过MouseLeave事件实现,只要鼠标移至按钮上就会激发MouseLeave事件,而此时鼠标仍在Panel的整体范围内。而如果通过mousemove事件实现,则不会出现这样的问题。原因是:button遮住了panel的可见部分,于是发生mouseleave事件,但不会发生mousemove事件。而假如你鼠标彻底离开panel,则两个事件同时触发。

慕尼黑的夜晚无繁华

我想不是同时执行他们的处理肯定会有先后顺序的
打开App,查看更多内容
随时随地看视频慕课网APP