JavaScript - Модал Lightview продолжает закрываться - PullRequest
0 голосов
/ 22 февраля 2011

Мой мод lightview продолжает закрываться после запроса Ajax. То есть, когда я делаю Ajax-запрос и после этого вызываю всплывающее окно для всплывающего окна, оно сразу же закрывается после загрузки всплывающей страницы. Если я не делаю Ajax-запрос, всплывающее окно работает нормально и не закрывается, если не выполнено пользователем.

Может кто-нибудь помочь мне, что я делаю неправильно? Ниже приведен код, который имитирует мою проблему.

<script language="JavaScript" type="text/javascript">
Event.observe(
    window,
    'load',
    function ( event ) {
        $( 'ajaxBtn' ).observe(
            'click',
            function( event ) {
                ajaxCall( 'ajax.png' );
            });
    });

function ajaxCall( img_url )
{
    Lightview.show({ href: img_url, rel: 'image', options: { width: 100, height: 100, autosize: false, keyboard: true, overlayClose: false, menubar: false } });

    document.observe("lightview:opened", function(event)
    {
        new Ajax.Request(
            'ajax_post.html',
            {
                method: 'POST',
                parameters: $('frmName').serialize( true ),
                onComplete: ajaxSuccess,
                onFailure: ajaxFailed
            });
    });
}

function ajaxSuccess( )
{
    Lightview.hide();
    alert("Ajax call success");
}

function ajaxFailed()
{
    Lightview.hide();
    alert("Ajax call failed");
}
</script>

<form accept-charset="utf-8" name="frmName" id="frmName" method="post">
    Name: <input type="text" name="full_name" id="full_name" value="" />
    <input type="hidden" name="id" id="id" value="1" /><br />

    <img id="ajaxBtn" src="ajaxBtn.jpg" style="cursor: pointer;" title="Ajax Call" alt="Ajax Call" border="0" />

    <a href="pop-up.html" class="lightview" title="pop-up :: :: topclose: true, width: 600, height: 180">pop-up window</a>
</form>

Заранее спасибо.

1 Ответ

1 голос
/ 23 февраля 2011

На ajaxSuccess() и ajaxFailed() вызовы функций Lightview.hide(), я думаю, что причина.
Вы пытались удалить Lightview.hide()?

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