2012-12-04 56 views
0

我正在使用Jquery LightBox插件。它工作正常。我需要打開一個對話框,一旦點擊了Jquery LightBox的關閉按鈕。但我不能這樣做......是否有可能跟蹤燈箱的關閉事件並觸發另一個事件?是否有可能通過點擊jquery lightbox的關閉按鈕來觸發事件

請幫

+0

是,找知心鈕代碼js文件 –

+0

沒有..我不能..如果一個正常的對話框,我可以做到這一點..但不與收藏..如果妳已經做到了..可以ü請分享我的代碼片段.. – Xavier

+0

其中您正在使用的插件? –

回答

1

從源頭

$('#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"); 
}); 
+0

感謝它的工作..但它只有當我用作 $(「#lightbox-secNav-btnClose」 ).click(function(){alert(「clicked」);}); – Xavier

2

在jQuery的燈箱,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(); 
    } 
} 

添加關閉設置在jquery-lightbox-0.5.js文件頂部的設置在activeImage之後;

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

用法:

$('#gallery a').lightBox({ onClose : function() { alert('Hi'); } }); 
+0

這裏下載這個工作的例子:http://vishalgyan.com/download_section/jQuery/jquery-lightbox-0.5-with-onClose.zip –

+0

如果你把_start函數的同一回調,它會打破所有燈箱界面按鈕(如lightbox-btn-close.gif)。他們沒有顯示(但仍然在HTML)。 Chrome的devtools控制檯說(對於主要的Jquery):資源解釋爲圖像,但與MIME類型文本/ HTML傳輸 –

+0

問題解決了指定燈箱調用腳本網址與前導斜線($('my-gallery-sellector' ).lightBox({imageLoading:'/images/lightbox-ico-loading.gif'...)。 –

0

從個人的經驗,我可以推薦你使用Colorbox

還有你對顏色框的初始化onClosed屬性,因此它很容易爲:

$("a.lightbox").colorbox({ 
    onClosed: function() { 
     console.log('closed') 
    } 
}); 
0

這對我而言無需修改lightbox.js中的任何內容:

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

function close_lightbox() 
{ 
    lightbox.end(); 
} 
相關問題