我有一个内部带有闪存剪辑的iframe占据了整个窗口,在iframe之外我有一个div作为iframe上方的菜单栏,它有下拉菜单。
现在的挑战是让这些下拉菜单显示在鼠标悬停时,但在访问者与flash / iframe交互时隐藏。
我可以通过检查document.activeElement轻松检测是否是这种情况,但有问题的部分是检测他们何时“不”使用flash。我现在正在做的只是检测主窗口上的鼠标移动,然后通过调用top.focus()
重置activeElement,(document.activeElement.blur()
由于某种原因在Chrome上不起作用)。问题是,在执行此操作后,当用户与其交互时,不会再将activeElement设置回iframe,几乎就像top.focus()
无限期地将activeElement设置为“body”一样。
关于如何正确地做到这一点的任何想法?
简而言之,我需要在与主窗口进行交互时将焦点从iframe中移开,然后在与iframe交互时将焦点设置回iframe(这应该是浏览器的默认行为)。
由于
编辑:
jsFiddle展示问题:http://jsfiddle.net/tvc3S/
请注意,没有Flash它工作正常..不确定是否有办法解决这个问题..
答案 0 :(得分:3)
男孩我肯定会让事情变得比必要的复杂得多,只需检测iframe上的mouseover和mouseout事件就可以了。
当然这会使用悬停事件而不是焦点事件,这会产生稍微不同的体验,但这对我正在做的事情很好。