Определение положения мыши над фреймами - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть 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 все работает нормально ... не уверен, есть ли способ обойти это ..

1 Ответ

3 голосов
/ 16 февраля 2012

Мальчик, я уверен, что все усложняло, чем нужно, просто обнаруживая события наведения мыши и мыши на iframe, сделали свою работу.

http://jsfiddle.net/89s7q/

Конечно, здесь используются события при наведении, а не события фокусировки, что создает немного другой опыт, но это хорошо для того, что я делаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...