Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在iFrame上检测鼠标位置_Javascript_Jquery_Html_Dom_Iframe - Fatal编程技术网

Javascript 在iFrame上检测鼠标位置

Javascript 在iFrame上检测鼠标位置,javascript,jquery,html,dom,iframe,Javascript,Jquery,Html,Dom,Iframe,我有一个iframe,里面有一个flash剪辑,占据了整个窗口,在iframe的外面我有一个div,作为iframe上面的菜单栏,它有下拉菜单 现在的挑战是使这些下拉菜单出现在鼠标上方,但在访问者与flash/iframe交互时隐藏 我可以通过检查document.activeElement很容易地检测到是否存在这种情况,但是问题部分是在他们“不”使用flash时检测到的。我现在所做的只是检测主窗口上的鼠标移动,然后通过调用top.focus(),(document.activeElement.

我有一个iframe,里面有一个flash剪辑,占据了整个窗口,在iframe的外面我有一个div,作为iframe上面的菜单栏,它有下拉菜单

现在的挑战是使这些下拉菜单出现在鼠标上方,但在访问者与flash/iframe交互时隐藏

我可以通过检查document.activeElement很容易地检测到是否存在这种情况,但是问题部分是在他们“不”使用flash时检测到的。我现在所做的只是检测主窗口上的鼠标移动,然后通过调用
top.focus()
,(
document.activeElement.blur()
由于某些原因在Chrome上不起作用)重置activeElement。问题是这样做之后,当用户与activeElement交互时,它不会再次将activeElement设置回iframe,几乎就像
top.focus()
无限期地将activeElement设置为“body”

你知道我该怎么做吗

简而言之,我需要在与主窗口交互时将焦点从iframe移开,然后在与iframe交互时将焦点设置回iframe(这应该是浏览器的默认行为)

谢谢

编辑:

jsFiddle来展示问题:


请注意,如果没有闪光灯,它可以正常工作。。不确定是否有办法解决这个问题

男孩,我肯定是把事情弄得比必要的复杂得多,只是在iframe上检测鼠标溢出和鼠标出事件就完成了任务


当然,这使用的是悬停事件而不是焦点事件,这会带来稍微不同的体验,但这对我所做的事情来说很好。

男孩,我肯定是让事情变得比必要的要复杂得多,只是在iframe上检测鼠标悬停和鼠标悬停事件就完成了任务

当然,这会使用悬停事件而不是焦点事件,这会带来稍微不同的体验,但这对于我正在做的事情来说很好