1

JqueryLightBoxプラグインを使用しています。正常に動作します。Jquery LightBoxの閉じるボタンをクリックしたら、ダイアログボックスを開く必要があります。しかし、私はそうすることができませんでした...ライトボックスのクローズイベントを追跡し、別のイベントをトリガーすることは可能ですか?

助けてください

4

4 に答える 4

2

jquery-lightbox-0.5.jsの_finish関数を次のコードに置き換えます。

function _finish() {
    $('#jquery-lightbox').remove();
    $('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); });
    // Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay.
    $('embed, object, select').css({ 'visibility' : 'visible' });

    var callback = settings.onClose;
    if($.isFunction(callback)) {
         callback.call();
    }
}

activeImageの後にjquery-lightbox-0.5.jsファイルの上部にある設定にonCloseを追加します。

// Don´t alter these variables in any way
imageArray: [],
activeImage: 0,         
onClose: null

使用法 :

$('#gallery a').lightBox({ onClose : function() { alert('Hi'); }  } );
于 2012-12-04T08:41:32.503 に答える
0

ソースから

$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() {
    _finish();
    return false;
});

したがって、イベントハンドラーをに追加するだけで、機能する#lightbox-secNav-btnCloseはずです。

$("body").on("click", "#lightbox-secNav-btnClose", function() {
    console.log("lightbox closed");
});
于 2012-12-04T08:25:37.237 に答える
0

個人的な経験から、Colorboxの使用をお勧めします

onClosedカラーボックスの初期化にプロパティがあるので、次のように簡単です。

$("a.lightbox").colorbox({
    onClosed: function() {
        console.log('closed')
    }
});
于 2012-12-04T08:44:03.717 に答える
0

これは、lightbox.jsで何も変更せずに機能しました。

<div onclick="close_lightbox()">Close Button</div>

function close_lightbox()
{
    lightbox.end();
}
于 2015-12-14T10:37:04.900 に答える