2012-02-16 99 views
0

我有一個iframe,裏面有一個flash剪輯,它佔據了iframe外部的整個窗口我有一個div用作iframe上面的菜單欄,它具有下拉菜單。檢測鼠標在iframe上的位置

現在的挑戰是讓這些下拉菜單出現在鼠標懸停上,但當訪問者與flash/iframe交互時隱藏。

我可以很容易地通過檢查document.activeElement來檢測是否出現這種情況,但問題部分是檢測它們何時「不」使用閃存。我現在所做的只是在主窗口中檢測鼠標移動,然後通過調用top.focus()來重置activeElement,(由於某些原因,document.activeElement.blur()在Chrome上不起作用)。問題是,在這樣做之後,當用戶與它交互時,它不會再將activeElement設置回iframe,就好像top.focus()無限期地將activeElement設置爲「body」。

任何想法如何我可以做到這一點?簡而言之,當主窗口正在與之交互時,我需要將焦點從iframe中移除,然後在焦點回到iframe(它應該是瀏覽器的默認行爲)時再將焦點設置回iframe。

感謝

編輯:

的jsfiddle向人們展示了問題:http://jsfiddle.net/tvc3S/

注意,沒有Flash它工作正常..不知道是否有辦法解決..

回答

3

男孩我肯定會讓事情變得非常複雜,只需檢測iframe上的mouseover和mouseout事件即可。

http://jsfiddle.net/89s7q/

當然,這使用懸停事件而不是焦點事件,這使得經歷略有不同,但對我所做的事情來說很好。