我遇到的问题与this question中的问题相同,但现在适用于所有浏览器。
以下是代码:
$('form#main').live('submit', function(e) {
e.preventDefault();
var $this = this;
////console.log('click submit')
var $div = $('<div>', {
html: 'Are you sure you want to submit this table?<br/> All undo information will be lost.'
}).dialog({
modal: true,
title: 'Are You Sure?',
buttons: {
ok: function() {
self.console('clicked ok');
$.post($this.action, $($this).serialize() + '&page=' + self.pageOn, function(data) {
self.console(data);
$('.DEV-time').text(" (File last updated at: " + data.DEV + ")");
$('.PROD-time').text(" (File last updated at: " + data.PROD + ")");
if(data.ERROR.length > 0){
alert(data.ERROR);
}
self.pageChanged = false;
self.origPage = $('#page').clone();
self.lastClick = $('#page').clone();
}, 'json')
$(this).dialog('close');
},
cancel: function() {
$(this).dialog('close');
}
},
beforeClose: function() {
$(this).remove();
}
})
$div.dialog('widget').css('margin', '0 auto');
return false;
})
答案 0 :(得分:1)
除了'margin',你需要给它一个明确的css宽度。
答案 1 :(得分:0)
我认为您的问题是.dialog()方法在加载之前不知道内容高度。尝试在对话框定义中定义高度,或尝试此Centering jQuery UI dialog of unknown height - is it possible?
编辑:抱歉,我没有看到它是关于水平居中的。如果是这样,您可能需要显式设置对话框的宽度,或者使用与链接中相同的技巧。答案 2 :(得分:0)
答案 3 :(得分:-1)
你导入/包含position.js?你的代码?
<script src="jquery.ui.position.js"></script>
这对我有用