Вернитесь в iFrame вместо родительского при закрытии Fancybox - PullRequest
0 голосов
/ 08 марта 2012

У меня есть iFrame, который отображается внутри Fancybox. В iFrame у меня есть еще одна ссылка, которая вызывает Fancybox на родительской странице, как предложено здесь . Все работает как хотелось. После закрытия Fancybox, который был вызван из iFrame с помощью Fancybox на родительской странице, я возвращаюсь на родительскую страницу. Однако я хотел бы, чтобы измененное поведение возвращалось в iFrame вместо родительской страницы.

Fancybox, который у меня сейчас есть в iFrame:

jQuery('.container').on('click', 'a.fancybox-large', function(e){
    e.preventDefault();

    parent.jQuery.fancybox({
        href            : this.href,
        padding         : 0,
        closeBtn        : true,
        fitToView       : true,
        helpers         : { overlay: {opacity: 1, css: {'background-color': '#000000'}} }
    });
});

Есть предложения?

С уважением, John

1 Ответ

0 голосов
/ 08 марта 2012

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

Таким образом, наличие поля ввода внутри iframe, например

<input type="text" class="field" />

РЕДАКТИРОВАНИЕ: добавить полный скрипт.

добавьте в свой скрипт опцию afterClose

jQuery('.container').on('click', 'a.fancybox-large', function(e){
 e.preventDefault();
 parent.jQuery.fancybox({
  href            : this.href,
  padding         : 0,
  closeBtn        : true,
  fitToView       : true,
  helpers         : { 
   overlay: {
    opacity: 1, 
    css: {'background-color': '#000000'}
   } 
  },
  afterClose: function(){
   jQuery('.input').focus();
  }
 });
}); // on

и ваш фокус будет на этом поле input внутри iframe после закрытия fancybox

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