2013-03-01 8 views
11

मैं Fancybox को नष्ट करने की कोशिश कर रहा हूं। मुझे documentation में ऐसा करने का कोई तरीका नहीं मिला है। इसे शुरू करने के बाद इसे कैसे नष्ट करें?फैंक्सबॉक्स को कैसे नष्ट करें?

यह काम नहीं करता:

$("a").unbind('fancybox').unbind('click'); 

परीक्षण कोड: http://jsfiddle.net/martinba/yy3cw/2/

मैं वर्तमान संस्करण 2.1.4 का उपयोग करें।

+0

से आपका क्या मतलब नष्ट करते हैं? क्या आप इन सब को छिपाना चाहते हैं? – Manoj

+0

मुझे इसे स्टैंडअर्ट व्यवहार पर वापस करने की आवश्यकता है: आप लिंक ... पर क्लिक करें और ब्राउज़र इसे खोल देगा। कोई Fancybox आंतरिक खिड़कियां, जैसे कोई जावास्क्रिप्ट नहीं है। – Martin

उत्तर

13

आदेश fancybox आप document से fb-start नेमस्पेस के अंतर्गत घटनाओं निकल करने के लिए है निकल करने के लिए:

$(document).unbind('click.fb-start'); 

हालांकि, मैं क्यों डेवलपर यह इतना unobvious बनाया पता नहीं है।

http://jsfiddle.net/dfsq/yy3cw/16/

+0

के साथ अच्छी तरह से काम करता प्रतीत होता है काम करता है। धन्यवाद! – Martin

+0

यदि मेरे पृष्ठ पर एकाधिक फ़ैन्सीबॉक्स उदाहरण हैं, जैसे छवि गैलरी - क्या केवल विशिष्ट छवियों को अनइंड करने का कोई तरीका है लेकिन पूरी बात नहीं है? – webdevbyjoss

+0

@ पैसर द्वारा मैं सुझाव देता हूं कि आप अपने कोड के साथ एक नया उत्तर पोस्ट करें। – dfsq

2

कॉल करने के लिए प्रयास करें:

.unbind('click.fb') fancybox निकल लिए।

की तरह:

$('.group').unbind('click.fb') 
+0

दुर्भाग्य से, यह काम नहीं करता है। यहां यह है: http://jsfiddle.net/martinba/yy3cw/11/ init बटन पर क्लिक करें और फिर नष्ट करें। "फैंसीडेविल" अभी भी वहां है। – Martin

+0

यह मेरे लिए काम किया। 'Click.fb-start' नहीं था। मुझे लगता है कि यह एफबी संस्करण पर निर्भर करता है। – igasparetto

+0

यह फैंक्सबॉक्स 1.34 – Hutch

0

के रूप में इसे यहाँ उल्लेख किया गया था पहले: $(document).unbind('click.fb-start'); लेकिन क्या आप भी fancybox init कॉल करने के लिए इस विकल्प को जोड़ने के लिए चाहते हो सकता है: चलाकर live:false

1

आप हर फैंसी बॉक्स निकल कर सकते हैं:

$(document).unbind('click.fb-start'); 

या यदि आपको किसी विशिष्ट चयनकर्ता को अनबिंड करने की आवश्यकता है, तो आप इसे कम कर सकते हैं:

var selector = 'a.my-fancy-box'; 
selector = selector + ":not('.fancybox-item, .fancybox-nav')"; 
$(document).undelegate(selector, 'click.fb-start'); 

या वैकल्पिक रूप से:

// Bind 
$('a.my-fancy-box').fancybox({live: false}); 

// Unbind 
$('a.my-fancy-box').unbind('click.fb'); 
संबंधित मुद्दे