Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   onblur не для фреймов (https://javascript.ru/forum/misc/56251-onblur-ne-dlya-frejjmov.html)

Jack12345 06.06.2015 19:18

onblur не для фреймов
 
Подскажите плиз с кодом, а то я уже запарился. Необходимо чтобы событие onblur срабатывало только если оно исходит не с iframe, а когда именно мы кликаем за пределами окна. В общем я так понимаю необходимо в самом событии проверить event, исходит ли оно с тега iframe.

$(document).bind("onblur", function(e) {
   if (e.target ...
});


как тут проверку написать?

Rise 06.06.2015 19:49

Jack12345, не так onblur а так blur, и событие blur не всплывает, всплывает focusout

Jack12345 06.06.2015 20:05

Ну у меня так вот в общем

window.onblur = function() { 

}


Что посоветуешь?

Jack12345 06.06.2015 20:21

Мне нужно ловить когда уходит и приходит фокус с окна, но не затрагивая iframe.

Jack12345 06.06.2015 20:26

Цитата:

Из-за отсутствия подержки Firefox эти события используют редко. Получается, что во всех браузерах можно использовать focus на стадии перехвата, ну а focusin/focusout — в IE8-, где стадии перехвата нет.
так вот пишут...

Rise 06.06.2015 20:51

Цитата:

Сообщение от Jack12345 (Сообщение 374095)
так вот пишут...

C jQuery кроссбраузерно.

Вот еще для размышления, Firefox и Chrome не поддерживают события focus/blur(focusin/focusout) на iframe.

Jack12345 06.06.2015 20:59

У меня два события походу генерируется, одно клик за пределами iframe, другое выход из iframe (установка фокуса на окно, перед этим был сделан клик внутри iframe). Мне нужно разграничить выход из iframe и вообще выход из окна. Может в событии проверять !frameobj.is(event.target) надо будет попробовать.

И надо будет затестить это событие которое вы советуете http://jquery.page2page.ru/index.php... %8F_focusout


Часовой пояс GMT +3, время: 18:55.