打开的上下文窗口阻塞接收鼠标事件,如何避免?

Posted

技术标签:

【中文标题】打开的上下文窗口阻塞接收鼠标事件,如何避免?【英文标题】:Opened context window blocks receiving mouse events, how to avoid? 【发布时间】:2011-08-09 12:07:36 【问题描述】:

这就是问题所在,我需要跟踪鼠标移动(并注册鼠标下的组件),它已经完成了,但是我遇到了新问题,如果单击右键然后上下文菜单将被打开并且没有任何我的组件接收到的新事件(mouseMove,mouseOver)。我知道这个上下文菜单更像是浏览器,然后是 flash/flex 和 afaiu,根本没有办法禁用上下文菜单。那么可能有人知道避免此事件阻塞的任何技巧吗?

【问题讨论】:

首先,为什么你需要一直跟踪鼠标位置?似乎有点矫枉过正。其次,不,这是不可能的。 一般来说,我需要捕捉光标离开按钮边界的那一刻 听说过rollover/rollout或mouseover/mouseout吗? 当 SWF 失去焦点时禁用它 【参考方案1】:

我同意这看起来有点矫枉过正,但您可以阻止默认的右键菜单。这不是一个完全干净的独立 Flex 解决方案,但是:

http://www.einternals.com/blog/web-development/flashflex/disable-right-click-menu-in-flash

据我所知,只需要使用一点 JS 和适当的 wmode,这样鼠标事件就可以在 javascript 中被捕获和阻止,然后才能到达您的 flash 对象。这里的困难在于适应所有不同的浏览器解释 JavaScript 和 Flash 播放器 wmode 的方法。在 X 上的工作混杂在一起,在 Y 上不起作用,但我敢肯定,只要稍加努力,您就可以为绝大多数用户群完成这项工作。

肖恩

【讨论】:

谢谢@shaun,这正是我所需要的。

以上是关于打开的上下文窗口阻塞接收鼠标事件,如何避免?的主要内容,如果未能解决你的问题,请参考以下文章

出现上下文菜单时如何获取鼠标位置?

WPF 弹出窗口捕获鼠标双击事件

在后台窗口中模拟鼠标点击

qt linux窗口大小变化后刷新鼠标事件

如何使鼠标事件透过JFrame窗口

用鼠标移动窗口时,移动上下滚动条时总是感觉像水波一样挪动是怎么回事,