1

我在 Chrome 和 Safari 中使用 jQuery UI 对话框时遇到了一些问题。在 FF 和 IE 中,对话窗口在屏幕中间弹出,但在 Chrome 和 Safari 中,窗口会根据整个主体居中。不是 FF 和 IE 的当前屏幕“viewframe”。

我试图通过添加一个包含对话框的绝对/固定 div 来克服这个问题,但没有奏效。我试图编辑 .js 文件本身并更改 appendTo: "body" 没有结果。我检查了 .ui-dialog 定位为绝对的对话框 css 文件。没有任何帮助。现在我不知道还要检查什么而不在 FF 和 IE 中破坏它。

我没有使用 javaScript/jQuery 的经验,所以这让事情变得更加难以解决。

任何建议或帮助将不胜感激。

<script>
jQuery(document).ready(function(){
    jQuery("#form").validationEngine('attach', {
        onValidationComplete: function(form, status){
            if (status == true) {
            $(function() {
                $( "#dialog-confirm" ).dialog({
                    resizable: false,
                    height:265,
                    width: 350,
                    modal: true,
                    closeOnEscape: true,
                    title: "Submit form",
                    buttons: {
                        "Submit": function() {
                            form.submit();
                            $( this ).dialog( "close" );
                        },
                        "Cancel": function() {
                            $( this ).dialog( "close" );
                        }
                    }
                });
            });
            }
        }  
    })
});
</script>
<div id="dialog-confirm">
    <p style="font-weight:bold;float:left;">Submit the form?</p>
</div>
4

1 回答 1

1

修改您的对话框代码,如下所示:

$( "#dialog-confirm" ).dialog({
                resizable: false,
                height:265,
                width: 350,
                modal: true,
                closeOnEscape: true,
                title: "Submit form",
                buttons: {
                    "Submit": function() {
                        form.submit();
                        $( this ).dialog( "close" );
                    },
                    "Cancel": function() {
                        $( this ).dialog( "close" );
                    }
                },
                position: "center" // This part should address your issue.
            });
于 2013-05-29T11:51:58.673 回答