2015-11-02 3 views
0

У меня есть страница с iframe в ней. Внутри iframe есть контент-доступный раздел, который сохраняет событие onblur. Это прекрасно работает, пока событие onblur происходит внутри iframe (щелкнув в другой области внутри одного и того же iframe).Триггерное размытие на сфокусированном элементе, при щелчке за пределами iFrame

Однако, если пользователь нажимает за пределами области iframe (родительский), то событие размытия никогда не запускается внутри iframe (дочернего), и поэтому данные не сохраняются.

Как я могу получить событие onblur для запуска в iframe, даже щелкнув за пределами iframe в родительском?

Все ответы, которые я могу найти, включают в себя противоположный сценарий с щелчком внутри iframe для запуска события в родительском. Как я делаю наоборот?

+0

Можете ли вы повторить вопрос? Поскольку щелчок на родительской странице должен запускать любое событие размытия внутри iframe, если конкретный элемент внутри него был сфокусирован. Кстати, в каждом браузере вы его тестируете? Это перекрестный домен iframe? –

+0

@ A.Wolff Хорошо, тогда это может быть характерно для моего дела. Мое приложение загружается в другое системное окно (в самом iframe), поэтому мое приложение загружается внутри iframe, в котором у меня есть собственный iframe .. оба находятся в одном домене. Я проверю, будет ли родительский фрейм, внутри которого я (вне моего контроля), отменить событие размывания по умолчанию. –

ответ

0

Таким образом, проблема заключается в том, что событие размытия не передается моему редактору. Добавление приведенного ниже кода внутри iFrame с помощью редактора в нем делает работу должным образом:

$("[contenteditable='true']").blur(function(e) { 
    editor1.trigger('blur', e, $(e.target)); 
}) 
Смежные вопросы