2017-02-02 34 views
0

Bootstrapモーダルで動作するように書き直したいこの古いjQueryダイアログ関数があります。具体的にはクローズコールバック。 (私にとっては)ブートストラップにはこのようなものはないようです。 hide関数に置き換えると、モーダルがすぐに開き、閉じます。私はBootstrap v4-alphaを使用しています。ブートストラップ付きjQueryダイアログcloseコールバックをBootstrapモーダルに変換しました

jQueryの

jQuery("#myDialog").dialog({ 
    close: function() {  
    jQuery("#myDialog").html(''); 
    } 
}); 

ブートストラップ

jQuery("#myDialog").modal({ 
// What can I add here to replicate jQuery's close callback? 
}); 
+0

ごとに問題を再現するデモを提供[MCVE] – charlietfl

答えて

0

あなたのモーダルをトリガーするときには、イベントリスナーを添付することができます。だから、

あなたはトリガー:

$('#myDialog').modal('toggle'); // or 'show'/'close' 

コールバックに

$('#myDialog').on('show.bs.modal', function (e) { 
    // Fire a function when the modal opens 
}) 

ドキュメントを添付する代わりに、イベントリスナーを使用して、ここでhttps://v4-alpha.getbootstrap.com/components/modal/#events

+0

私は私の質問を投稿する前に、このアプローチを試みました。このように書かれると、モーダルは表示された直後に閉じます。 jQueryのclose関数は、ダイアログが別の関数で閉じられるまで保存されていたようです。これが事実ですか、私は間違っていますか? – geraddavis

+0

引数は実際には 'open'ではなく、 'show'です。 '$( '#myDialog')。modal( 'show');'を使用してみてください。それはすぐに開閉し、別の関数あなたが言ったようにどこかでそれを誘発する。 jQueryダイアログライブラリも削除してみてください。この機能が見つからない場合は、クロム開発者ツールを使用し、[ソース]タブでモーダルをトリガしてブレークポイントを追加する関数を見つけ、右上の[次の関数呼び出しを終了]ボタンを押して各関数呼び出しを実行します。がんばろう! –

関連する問題