2015-10-05 65 views
0

Bootbox.js有成功顯示對話框時調用函數的方法嗎?Bootbox'已加載'回調

我原本打算使用它將隱藏窗體從頁面中的其他位置切換到Bootbox,但這不能在沒有回調或回調類比的情況下完成。然後,我設計了一種移動隱藏表格的方式,並且在一個額頭sma c的值得關注的時刻,我意識到我仍然需要一個回調(或類比)來揭示表單(刪除'隱藏'類,添加'在班上)。

該文檔似乎沒有顯示內置的屬性,這將允許我這樣做(bootbox.init顯示承諾,但我沒有完全理解它,它沒有記錄的例子,它似乎是全球性的。我使用很多啓動盒)。有另一種方法可以做到這一點嗎? Bootbox是否發佈某種事件?

回答

4

.init()被稱爲在一個特定的對話,因爲我發現別人在這裏:https://jsfiddle.net/Lu1wp3nn/

一個簡單的例子:

bootbox 
    .alert('Your message') 
    .init(function() { 
     /* do something */ 
    }); 

因爲bootbox.js僅有引導的情態動詞的包裝,你可以訪問到Bootstrap定義的模態事件。你在shown.bs.modal(或show.bs.modal,如果你想在對話出現之前做一些事情)。

下面是一個例子,改編自the Bootstrap docs

bootbox 
    .alert('Your message') 
    .on('shown.bs.modal', function (e) { 
     // do something... 
    }) 
+0

*額頭摑*我從來沒有想過要檢查引導文檔。我還使用.init()獲得了所需的功能。我使用的是bootbox的抽象(如果我們換出另一種顯示對話框的方法),我選擇通過回調。如果我們稍後使用不同的方法,它可能會有回調,或者我們可以放一個回調。就目前而言,只要回調函數存在並且是一個函數,「回調函數」就會傳遞給init()函數。 :) 謝謝! –

0

一般用:

bootbox.alert|confirm({ 
    "title": lang['EMBED'], 
    "message": content 
    }).on("shown.bs.modal", function(e) { 
    alert() 
});