У меня есть iframe с флеш-клипом внутри, который занимает полное окно, за пределами iframe у меня есть div, который служит в качестве строки меню над iframe, в которой есть выпадающие меню.
Теперь задача состоит в том, чтобы эти выпадающие меню появлялись при наведении мыши, но скрывались, когда посетитель взаимодействует с flash / iframe.
Я легко могу определить, так ли это на самом деле, проверив document.activeElement, однако проблемной частью является обнаружение, когда они «не» используют flash. Сейчас я просто обнаруживаю движение мыши в главном окне, затем сбрасываю activeElement, вызывая top.focus()
, (document.activeElement.blur()
по какой-то причине не работает в Chrome). Проблема заключается в том, что после этого он не будет снова устанавливать activeElement в iframe, когда пользователь взаимодействует с ним, почти как если бы top.focus()
установил activeElement в «body» на неопределенный срок.
Есть идеи, как я могу сделать это правильно?
В двух словах, мне нужно убрать фокус с iframe, когда с главным окном взаимодействует, и затем снова установить фокус на iframe, когда с ним взаимодействуют (что должно быть поведением браузеров по умолчанию).
Спасибо
Edit:
jsFiddle для демонстрации проблемы: http://jsfiddle.net/tvc3S/
Обратите внимание, что без Flash все работает нормально ... не уверен, есть ли способ обойти это ..