2012-07-12 12 views
6

पर छिपा हुआ मैं वर्तमान में एक मोडल में वीडियो डालने के लिए बूटस्ट्रैप पर काम कर रहा हूं। सीएमएस के माध्यम से सबकुछ उत्पन्न होता है (इसलिए मुझे इस पर नियंत्रण नहीं है कि कितने वीडियो दिखाए जाएंगे।)ट्विटर बूटस्ट्रैप मॉडल - किसी भी

सब कुछ ठीक हो रहा है (मुझे प्रत्येक मोडल को अपना आईडी देना है और सबकुछ काम करता है)। बात यह है कि, जब आप मोडल बंद करते हैं और वीडियो चल रहा है, तो वीडियो (और ध्वनि) पृष्ठभूमि में चलती रहती है।

चकमा करने के लिए है कि, जब एक मॉडल एक्स बटन के साथ बंद हो रहा है, मैं मॉडल में एचटीएमएल ताज़ा करते हैं, इस तरह:

$('button.close').click(function(){ 
    var divcible=$(this).parent().parent().find(".modal-body"); 
    var html = divcible.html() 
    divcible.html("") 
    divcible.html(html) 
}) 

उस के साथ मेरी समस्या यह है कि उपयोगकर्ता पृष्ठभूमि क्लिक करता है तो एचटीएमएल रीसेट नहीं होगा। बूटस्ट्रैप की वेबसाइट पर वे जब एक मॉडल बंद कर देता है इस

$('#myModal').on('hidden', function() { 
    // do something… 
}) 

नजर रखने के लिए कहते हैं, लेकिन मैं वहाँ जब किसी भी मॉडल बंद कर देता है पर नजर रखने के लिए एक रास्ता है कि अगर खोजना चाहते हैं। document तत्व को मूल घटना लक्ष्य से bubble up

$('.myModal').on('hidden', function() { 
    // do something… 

    // edit for clarity: "that" will now reference the modal that was hidden 
    var that = this;   
}) 
+0

आप 'कोशिश की $ है (: इस प्रकार, जब किसी भी मॉडल बंद कर देता है पर नजर रखने के लिए एक रास्ता के रूप में निम्नानुसार document तत्व को एक ईवेंट हैंडलर संलग्न करने के लिए है '.odal-body')। ('छुपा', फ़ंक्शन() { // कुछ करें ... }) '? आईडी के बजाए कक्षा के नाम पर अपने चयनकर्ता को आधार दें। –

उत्तर

9

एक वर्ग अपने क्रियार्थ द्योतक में जोड़े और उस का उपयोग करें। यह hidden ईवेंट का भी मामला है जिसे उपयोगकर्ता से छिपाया गया है जब मॉडल को समाप्त कर दिया गया है।

$(document).on('hidden', function() { 
    // a modal closes, so do what you want :) 
}) 
2

डिफ़ॉल्ट रूप से, सबसे घटनाओं:

+0

दुर्भाग्य से आप यह जांच नहीं रहे हैं कि क्या आप वास्तव में यहां एक मोडल हैंडल कर रहे हैं, है ना? –

+0

वास्तव में, ट्विटर बूटस्ट्रैप मोडल घटक 'छुपा' नामक एक ईवेंट ट्रिगर करता है। इस घटना की उत्पत्ति के बारे में कोई अतिरिक्त जानकारी नहीं है, कोई अतिरिक्त जानकारी नहीं है। जब भी आप 'छुपा' नामक एक घटना को पकड़ते हैं, तो आपको यह सुनिश्चित करना होगा कि कोई अन्य घटक नहीं है जो एक ही नाम के साथ एक ही घटना को ट्रिगर कर सके। यदि आप @ टेरी के समाधान पर विचार करते हैं तो भी समस्या ठीक वही है। यह कोई फर्क नहीं पड़ता कि आप घटना को पकड़ते हैं लेकिन किस घटना को ट्रिगर किया गया है और किस नाम से। – fsenart

+0

ठीक है। हालांकि, निष्पक्ष होने के लिए, टेरी का समाधान सुनिश्चित करता है कि केवल सही मोड माना जाता है। हालांकि, यह थोड़ा और काम है। –

8
$('#myModal').on('hidden.bs.modal', function (e) { 
    // do something... 
}) 
बूटस्ट्रैप 3.x प्रलेखन से

http://getbootstrap.com/javascript/#modals

+0

धन्यवाद। मैं बूटस्ट्रैप v4 अल्फा का उपयोग कर रहा था और मुझे इसके लिए काम करने के लिए "hidden.bs.modal" की आवश्यकता थी, जैसा कि आपने कहा था। धन्यवाद। –

संबंधित मुद्दे