2011-07-02 16 views
5

如何在啓用後禁用PrettyPhoto在代碼中禁用PrettyPhoto

$(document).ready(function() { 
    $("a[rel^='prettyPhoto']").prettyPhoto(); 
} 

$("#disablePrettyphoto").click(function (e) { 
    $("a[rel^='prettyPhoto']").KILLPRETTYPHOTO(); 
}); 

在帶圖片的頁面上,我使用Prettyphoto,我需要對相同的圖片做一些拖放動作。在啓用prettyPhoto的情況下執行此操作並不好,因爲它會在我拖放時觸發彈出窗口(因爲它應該)。所以,當我啓用拖放功能時,我想禁用PrettyPhoto並在禁用拖放功能時再次啓用它。

+0

你能告訴我們,要解決這個問題,請? – Jongosi

回答

1

我也有這個問題與prettyPhoto以及。我已經開始使用API​​來更好地控制插件。您可以使用unbind()移除所有點擊處理程序,然後執行拖放操作,然後再次添加prettyPhoto。看看這個問題(Best way to remove an event handler in jQuery?),這應該有所幫助。

1

要禁用prettyPhoto,取消綁定click屬性:

$("a[rel^='prettyPhoto']").unbind('click'); 

之後,重新初始化prettyPhoto很適合我。

如果你不想以後重新啓用它,你可以通過刪除rel屬性完全摧毀它:

$("a[rel^='prettyPhoto']").attr('rel', ''); 

(基於this answer