javascript - 在动态加载的内容上使用 bootstrap .modal()

标签 javascript jquery twitter-bootstrap modal-dialog

我这里有我的代码,它在正文末尾插入预定义的模态标记:

var languageModal = 
'<div id="lngModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="lngModalLabel" aria-hidden="true">'+
'   <div class="modal-body"></div>'+
'   <div class="modal-footer">'+
'       <form class="inline" id="lngModalForm">'+
'           <button class="btn btn-primary" data-dismiss="modal" aria-hidden="true">'+
'               <span lang="hu"'+((langAfterInit == 'hu') ? '' : ' style="display:none;"')+'>Bezárás</span>'+
'               <span lang="en"'+((langAfterInit != 'hu') ? ' style="display:none;"' : '')+'>Close</span>'+
'           </button>'+
'       </form>'+
'   </div>'+
'</div>';

$('body').append(languageModal);

但是,当我对其调用 .modal() 时,它不会加载,只会出现黑色覆盖层:

$('#lngModal').modal({
    backdrop    : 'static',
    keyboard    : false,
    remote      : '/language.html',
});

我尝试使用 .on('modal',{...}),但没有成功。

最佳答案

试试这个:

    $('body').append(languageModal,function(){
console.log('modal appended');
    $('#lngModal').modal({
                    backdrop    : 'static',
                    keyboard    : false,
                    remote      : '/language.html',
                }); 

console.log('modal init');
    });

代替

$('body').append(languageModal);
            $('#lngModal').modal({
                backdrop    : 'static',
                keyboard    : false,
                remote      : '/language.html',
            }); 

关于javascript - 在动态加载的内容上使用 bootstrap .modal(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14112311/

相关文章:

javascript - 订阅放置在 Promise Angular 6 中的 http.post

jquery - 如何将 (document).ready 添加到现有的 jquery 函数文件

javascript - 将变量值设置为 backbone.js 中的键

twitter-bootstrap - 如何在 Rails 4 中使用 Bootstrap 3 RC

html - 元素不会堆叠在彼此之上

javascript - 在 HTML 中添加 Bootstrap

javascript - jqgrid搜索框下拉过滤器名称

javascript - 渲染分离的随机三 Angular 形的最有效方法?

javascript - 如何在 React Native 中更改数组键名称

javascript - 在普通 View 和代码 View 之间切换时保持光标位置