0

私はTwitterのブートストラップを使用していますが、現在表示されているモーダルがどのように隠されているかを知る方法があるかどうか知りたいです.

何が起こるかというと、ユーザーが何かを変更した後にモーダルを離れる (黒い背景をクリックするか、ボタンで閉じる) と、別のモーダルがポップアップして、確信があるかどうかを尋ねます。

これはすべて問題ありませんが、次のようなモーダルをプログラムで非表示にした後に同じことが発生すると、問題が発生します。

$("#modalName").modal('hide');

モーダルがどのように正確に隠されているかを知る方法はありますか?

ありがとう。

編集:

アンドレ:私はあなたの 2 番目の解決策に行こうとしていますが、奇妙な反応が返ってきます

ブートストラップの非表示機能を変更して、別のパラメーターを含めました。

hide: function (e, programatically) {
  alert(e);
  alert(programatically);
  if (programatically)
    alert('should be seen only from code');

そして、API から呼び出すときは、これを使用します。

$("#modalName").modal("hide", true)

奇妙なことに、「e」のアラートは「真」の値を示し、「プログラムによる」アラートは無防備であることを示しています。また、このように呼び出すと、モーダルが非表示にならず、次のエラーが発生します。

TypeError: Object #<error> has no method 'preventDefault'
4

3 に答える 3

0

次のコードを使用して、ブートストラップ モーダルを非表示にすることができます。

 $("#modalName").hide();
 $(".modal-backdrop").hide();
于 2013-11-26T04:15:14.807 に答える
0
  1. jQuery を使用しているため、event.target を使用できます: (IE window.event use event.srcElement):

    $(submitButton).click(function(e) {
        alert(e.target.src);
    });
    
  2. ..のようなパラメーターを追加し、programaticallyプログラム経由で呼び出された場合にのみ追加のポップアップを表示するように設定します。

    hide: function ( e, programatically ) {
        [...]
        if (!programatically){
             // Show additional confirm popup
        }
        [...]
    }
    

プログラム的に非表示にするときに呼び出す: $("#modalName").modal('hide', true);

于 2013-09-25T12:40:23.510 に答える