2011-04-22 54 views
27

我想基於fancybox關閉來觸發一個簡單的jQuery函數。它是網頁將jquery函數綁定到fancybox .close()事件

$.fn.fancybox.close = function() { 
    $('#sub_cont').hide(250, function() { 
    $('#IDsearchform input').val(''); 
    }); 
}); 

ofcourse上述上唯一的fancybox不工作

+0

如何使用onClosed選項初始化fancybox? – Matt 2011-04-22 01:53:17

回答

44

* 更新:* 請記@ mathoiland的回答,「它看起來像的fancybox 2棄用onClosed回調,現在使用afterClose。「如果您使用的是FancyBox 2.x

將onClosed選項傳遞給fancybox函數。

即:

$("<YOUR-SELECTOR>").fancybox({ 
    onClosed: function() { 
    $('#sub_cont').hide(250, function() { 
    $('#IDsearchform input').val(''); 
    }); 
    }) 
}); 
+1

感謝它對我來說工作正常:-)但你需要添加像這樣的單引號'onClosed' – Peeyush 2011-08-02 05:01:12

+5

單引號不是必需的。 – 2011-09-19 13:35:19

+8

'onClosed'折舊請使用'afterClose' – 2013-06-04 18:00:46

7
$("#myfancybox").fancybox({ 
    'onClosed' : function() { 
      $('#sub_cont').hide(250, function() { 
       $('#IDsearchform input').val(''); 
      }); 
    } 
}); 
32

剛一說明。它看起來像Fancybox 2貶低onClosed回調。它現在使用afterClose。

請參閱「回撥」下的新文檔。 http://fancyapps.com/fancybox/

+2

+1隨着時間的推移回答新的解決方案 – Korcholis 2012-06-07 11:43:20

15

在的fancybox的最新版本,你可能需要使用 'afterClose' 代替 'onClosed'

所以這個代碼..

$("<YOUR-SELECTOR>").fancybox({ 
    onClosed: function() { 
    $('#sub_cont').hide(250, function() { 
    $('#IDsearchform input').val(''); 
    }); 
    }) 
}); 

應該成爲...

$("<YOUR-SELECTOR>").fancybox({ 
    afterClose: function() { 
    $('#sub_cont').hide(250, function() { 
    $('#IDsearchform input').val(''); 
    }); 
    }) 
});