Проблема с Fancybox в модальном режиме - PullRequest
0 голосов
/ 05 декабря 2010

Учитывая эту ссылку в рамках FancyBox:

<a class="fancyBox" href="http://localhost/ccms/index.cfm?do=user.update" id="userLink">Update</a>

Если я нажимаю эту ссылку физически, появляется модальное окно FancyBox, в котором отображается содержимое страницы обновления пользователя. Окно находится в модальном режиме, и единственный способ закрыть окно - через Close / X. Нажатие за пределами модального режима ничего не делает. Пока все хорошо.

Однако, если я попытаюсь вызвать окно следующим образом:

$("#userLink").fancybox().trigger('click');

По мере необходимости страница обновления пользователя появляется в модальном режиме, НО нажатие вне модального окна теперь вызывает событие закрытия и окно закрывается.

Есть идеи, почему это происходит ???

В конечном итоге мне бы хотелось, чтобы поведение модала было последовательным. Но если для этого не может быть найдено никакого решения, разве не существует способа переопределения события click, вызывающего модальное закрытие и его отключение?

Спасибо, кто-нибудь?

Ответы [ 3 ]

2 голосов
/ 06 декабря 2010

Вам нужно указать модальное поведение при вызове fancybox() таким образом. Вы, вероятно, перезаписываете настройки, которые вы указали другим способом, когда вы называете это таким образом. Итак, чтобы сохранить ваши настройки, сделайте следующее:

$("#userLink").fancybox({modal:true}).trigger('click');

Но я бы порекомендовал вам попробовать: $("#userLink").click();, который вызовет событие нажатия и должен использовать ваши существующие настройки.

0 голосов
/ 29 декабря 2015

Просто добавьте родителя: "form: first" в .fancybox ({}); функция.

пример:

$(".various").fancybox({
                maxWidth: 800,
                maxHeight: 600,
                fitToView: false,
                width: '50%',
                height: '50%',
                autoSize: false,
                closeClick: false,
                openEffect: 'none',
                closeEffect: 'none',
                parent: "form:first"
            });
0 голосов
/ 31 января 2012

Вы также можете использовать fancybox api

  1. hideOnContentClick: false
  2. hideOnOverlayClick: false

Надеюсь, это поможет

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