2014-04-21 2 views
12

निकाल दिया नहीं गया है, मैं इसे दिखाने से पहले संवाद में कुछ सीएसएस समायोजन करने के लिए bootbox.confirm संवाद के लिए शो ईवेंट को पकड़ने में सक्षम नहीं हूं।बूटबॉक्स का उपयोग करके शो इवेंट को

मैं निम्नलिखित तरह बातें करने की कोशिश की लेकिन कामयाब नहीं हुए:

$(document).on("show.bs.modal", function (event) {...}); 
$(document).on("show", function (event) {...}); 
$(document).on("show", ".bootbox", function (event) {...}); 

उत्तर

1

मैं भी तरह एक वैश्विक फ़ंक्शन का उपयोग करना पसंद करेंगे:

function bootbox_confirm(msg, callback_success, callback_cancel) { 
    var d = bootbox.confirm({message:msg, show:false, callback:function(result) { 
     if (result) 
      callback_success(); 
     else if(typeof(callback_cancel) == 'function') 
      callback_cancel(); 
    }}); 

    d.on("show.bs.modal", function() { 
     //css afjustment for confirm dialogs 
     alert("before show"); 
    }); 
    return d; 
} 

और इसे इस तरह कहते हैं:

bootbox_confirm("my message", function(){alert('ok')}, function(){alert('cancel')}).modal('show'); 

या जब के लिए रद्द कोई तर्क:

bootbox_confirm("my message", function(){alert('ok')}).modal('show'); 
+1

मेरी इच्छा है कि लोग इस बात पर टिप्पणी करेंगे कि क्यों वे सोचते हैं कि उत्तर कम करने की बजाए कोई जवाब खराब है, खासकर यदि उत्तर स्वीकार किया जाता है (जिसका अर्थ है कि यह पूछने वाले के लिए काम करता है)। –

+0

@AustinSchmidt मुझे लगता है कि ऐसा इसलिए है क्योंकि उन्होंने कभी यह निर्दिष्ट नहीं किया कि उत्तर वैश्विक कार्य में होना आवश्यक है। उन्होंने जवाब दिया जो काम करता था, और बाद में इसे अपने उत्तर में लागू किया, और फिर इसे सही के रूप में चिह्नित किया। मुझे वास्तव में व्यक्तिगत रूप से इसकी परवाह नहीं है (मैंने उच्चतम उत्तर दिया गया जवाब लिखा है), लेकिन मैं देख सकता हूं कि दूसरों के साथ इस मुद्दे को कैसे उठाया जा सकता है। – codephobia

2

आप इस तरह कर सकते हैं:

var dialog = bootbox.dialog("foo", [], {show: false}); 

dialog.on("shown", function() { 
// 
}); 

dialog.modal("show"); 
+1

नहीं आया काम नहीं करते हैं, लेकिन "show.bs.modal" – AXMIM

36

यह आपको Bootbox 4.xx और बूटस्ट्रैप 3 उपयोग करने के लिए काम करना चाहिए। xx:

var box = bootbox.dialog({ 
    message: '', 
    title: '', 
    buttons: {}, 
    show: false 
}); 

box.on("shown.bs.modal", function() { 
    alert('it worked!'); 
}); 

box.modal('show'); 

या इस तरह:

+०१२३५१६४१०६१
$(document).on("shown.bs.modal", function (event) {...}); 
+2

मुझे यकीन नहीं है कि वर्तमान "सही" उत्तर क्यों चुना जाता है। यह ** show.bs.modal ** मेरे लिए काम किया - जबकि ** show.bs.modal ** –

+3

नहीं मिला मैंने पाया कि show.bs.modal ईवेंट तब काम नहीं करता जब आपने 'शो' सेट नहीं किया है 'संवाद पर विकल्प, या इसे सही पर सेट करें। संवाद स्वचालित रूप से तब दिखाया जाता है, इसलिए यहां तक ​​कि निकाल दिया नहीं जाता है। यदि शो विकल्प को गलत पर सेट किया गया है, जैसा कि इस उदाहरण में है, और 'box.modal (' show ')' के साथ मैन्युअल रूप से मोडल दिखाएं, तो show.bs.modal ईवेंट को भी निकाल दिया जाता है। – rolandow

+0

यह सही जवाब होना चाहिए। –

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

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