0

リモートコンテンツをロードするブートストラップモーダルがあります。これは、リンクが最初にクリックされたときには機能しません。モーダルは表示されますが、リモート コンテンツは読み込まれません。ログを確認しましたが、リモート呼び出しすら行われていません。

リンクを 2 回以上クリックすると、完全に機能します。私はもともと標準のブートストラップ リンク メソッドを使用していましたが、より詳細に制御できるように純粋な JavaScript に変更しました。リンククリック機能は次のようになりました。

$(function() {
                 $(".modal-link").click(function(event) {
                     $('.modal-body').text('Loading content...');
                     var modal = new $.fn.modal.Constructor();
                     $('#myModal').modal({keyboard: true})
                                  .remote($(this).attr("href"))
                                  .show();

                 })
             })

毎回呼び出され、モデルが毎回表示されますが、リモート呼び出しは最初の 1 回目以降にしか行われません。リモート呼び出しは、同じドメイン/マシンに対するものです。(これらはすべて grails アプリ内にあります。)

何か案は?他に何を試すべきかわかりません。

4

1 に答える 1

1

Bootstrap が正しく読み込まれない理由はわかりませんでしたが、次の回避策を使用しました。

$('.modal-body').text('Loading content...');
if (firstLoad) {
      $('#myModal .modal-body').load($(this).attr("href"))
      firstLoad = false;
 }

ブール値の firstLoad は jquery にフォールバックして、最初の読み込み時にのみ div コンテンツを読み込みます。

于 2013-03-13T17:12:09.623 に答える