JqueryLightBoxプラグインを使用しています。正常に動作します。Jquery LightBoxの閉じるボタンをクリックしたら、ダイアログボックスを開く必要があります。しかし、私はそうすることができませんでした...ライトボックスのクローズイベントを追跡し、別のイベントをトリガーすることは可能ですか?
助けてください
JqueryLightBoxプラグインを使用しています。正常に動作します。Jquery LightBoxの閉じるボタンをクリックしたら、ダイアログボックスを開く必要があります。しかし、私はそうすることができませんでした...ライトボックスのクローズイベントを追跡し、別のイベントをトリガーすることは可能ですか?
助けてください
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'); } } );
ソースから
$('#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");
});
個人的な経験から、Colorboxの使用をお勧めします
onClosed
カラーボックスの初期化にプロパティがあるので、次のように簡単です。
$("a.lightbox").colorbox({
onClosed: function() {
console.log('closed')
}
});
これは、lightbox.jsで何も変更せずに機能しました。
<div onclick="close_lightbox()">Close Button</div>
function close_lightbox()
{
lightbox.end();
}