Всплывающая страница fancybox не открывается второй раз в режиме iframe - PullRequest
0 голосов
/ 09 января 2012

у меня есть:

$(".fancybox-href").click(function () {
    $.fancybox({
        'title': this.href,
        'width': 800,
        'height': 600,
        'href': this.href,
        'type': 'iframe'
    });
    return false;
});

в моем разделе готовых документов;

и у меня есть всплывающая функция как:

function PopupOnClose(navigateObject, performCallbackTo) {
$.fancybox({
    'title': navigateObject.href,
    'width': 800,
    'height': 600,
    'href': navigateObject.href,
    'type': 'iframe',
    onClosed: function () {
        if (performCallbackTo != null) {
            eval(performCallbackTo + ".PerformCallback()");
        }
    }
});
return false;

}

и на моей триггерной ссылке у меня есть:

  <a id="my-popup" class="fancybox-href" onclick="PopupOnClose(this,'DxCallbackMyAspXCallBackPanel')" href="/My-PopUp-Page.aspx" ></a>

и моя проблема может быть такой, как вы ожидали:

Fancybox не открывается второй раз. когда я нажимаю в первый раз, появляется fancybox, но он не запускается второй раз:

на самом деле, когда я щелкнул второй раз, он ждет, и модальное окно fancybox появляется очень короткое время, но после этого браузер перенаправляет на страницу «My-PopUp-Page.aspx» напрямую.

помогите пожалуйста.

спасибо.

P.S: PerformCallback - это событие devexpress, и проблема, которую я указал, не зависит от него. Этот процесс работает хорошо.

1 Ответ

0 голосов
/ 07 октября 2012

Ситуация готова. Проблема была в инициализации fancybox с помощью функции OnClose, и это было сделано следующим образом:

$(".fancybox-href").click(function (navigateObject, performCallbackTo) {
$.fancybox({
    'title': this.href,
    'width': 800,
    'height': 600,
    'href': this.href,
    'type': 'iframe',
onClosed: function () {
    if (performCallbackTo != null) {
        eval(performCallbackTo + ".PerformCallback()");
    }
});
return false;});

Спасибо всем ..

...