Javascript 检测未处理的鼠标事件

Javascript 检测未处理的鼠标事件,javascript,html,css,google-chrome,Javascript,Html,Css,Google Chrome,这个问题可能比标题让你相信的要复杂一点,但最终它将这个问题确定下来。但首先让我向你们展示一幅更大的图景: 我在应用程序中使用chromiums rendering/content/javascript引擎作为用户界面。但在用户界面下方是一个真实的3d世界,也需要了解交互。所以你可以想象我的用户界面就像一个普通的html页面,页面的主体是透明的。因此,每当我收到用户界面的消息,如鼠标移动、鼠标按下等,我都需要能够检测该消息是否由用户界面处理,或者是否应该传播到下面的世界。所有这些都只需要在chro

这个问题可能比标题让你相信的要复杂一点,但最终它将这个问题确定下来。但首先让我向你们展示一幅更大的图景:

我在应用程序中使用chromiums rendering/content/javascript引擎作为用户界面。但在用户界面下方是一个真实的3d世界,也需要了解交互。所以你可以想象我的用户界面就像一个普通的html页面,页面的主体是透明的。因此,每当我收到用户界面的消息,如鼠标移动、鼠标按下等,我都需要能够检测该消息是否由用户界面处理,或者是否应该传播到下面的世界。所有这些都只需要在chrome上运行,其他浏览器并不重要

到目前为止,我有以下想法,我一直以鼠标移动为例:

将鼠标移动处理程序附加到窗口、html或正文,并在点击时->传递到应用程序。这里的问题是,无论是否处理,事件都会在链上传播

将鼠标移动处理程序附加到窗口,并检查事件目标是html还是正文。这里的问题是,如果我有一个tansparent container div,它只用于定位或排列子节点,我将得到这个元素,如果它悬停,即使它应该到达那里的世界

将鼠标移动处理程序附加到窗口,用属性标记不应捕获鼠标状透明div的元素,并在鼠标移动处理程序中检查目标是否具有此类属性。如果是,则触发该事件,否则将处理该事件。这里的问题是,如果这些nomouse元素中的一个位于想要捕获鼠标的元素之上,我会错过它

将鼠标移动处理程序附加到窗口,用属性标记不应捕获鼠标的元素。将鼠标移动处理程序添加到所有没有“无鼠标”属性的元素,并将属性设置为true。在窗口中,鼠标处理程序检查事件对象中的属性是否已设置。我想这可能行得通


我最后的想法可行吗?你知道有更好的方法来实现这一点吗?提前问候和感谢。

您可以尝试在整个屏幕上创建一个透明的div,并将鼠标处理程序连接到它。使用z索引将可单击的元素放置在其前面

全屏幕div CSS:

html, body {
    weight: 100%;
    margin: 0;
}

#whole-screen {
    min-height: 100%; 
}