我的代码在这里,在正文的末尾插入一个预定义的模态标记:
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',{...})
,但这不起作用。
答案 0 :(得分:1)
试试这个:
$('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',
});
答案 1 :(得分:1)
答案 2 :(得分:1)
在@ Badaboooooom 和@ ic3b3rg 的大量帮助之后,事实证明我必须在.modal({... remote : '...', ..})
中换取data-remote="..."
标签脚本标记,还必须从.fade
中删除#lngModal
。
var languageModal = '<div id="lngModal" class="modal hide" data-remote="/language.html">'+
//other stuff
$('#lngModal').modal('show',{
backdrop: true,
keyboard: false,
});
答案 3 :(得分:0)
我也有过一次,但只有当我想通过使用以下css增加到模态大小时:
var modal = $('#lngModal');
modal.css({
width: '60%',
left: '20%',
margin: 'auto auto auto auto',
top: '10%'
});
我通过在max-height
上设置modal-body
来修复它:
var modalBody = modal.children('.modal-body');
modalBody.css({
maxHeight: '800px'
});
您是否更改了模态css?