Jquery的对话只是第一次奇怪的行为

时间:2012-10-11 09:06:51

标签: jquery jquery-ui

我在我的应用程序中使用jQuery对话框。我正在使用以下函数来初始化它。

$searchApplianceDialog = $('#divSearchAppliance')
                            .load('job/searchAppliance.jsp', function() {
                            })
                            .dialog(
                                    {
                                        autoOpen : false,
                                        resizable : false,
                                        draggable : false,
                                        modal : true,
                                        title : ' Search Appliance',
                                        width : 850,
                                        open : function() {
                                            $('#searchApplianceApplianceNumber').focus();

                                            resetApplianceSearch("#applianceList",'Link.do?method=searchJobOrderAppliance&showBlank=true','#frmApplianceSearch');

                                                                                    },
                                        beforeClose : function() {
                                        },
                                        close : function() {
                                            $('#searchApplianceButton').focus();
                                        }
                                    }); // ends search appliance    

当我第一次使用

打开它时
$searchApplianceDialog.dialog('open'); 

它被打开但是它只会产生第一次定位的问题。它根据页面宽度正确地定位在页面的中心,但是参考页面高度,它对于y轴定位为-20,这只是第一次,在每次正确定位后。

解决方案是什么?

2 个答案:

答案 0 :(得分:2)

尝试将其放在

之后
$(document).ready(function(){ 

答案 1 :(得分:1)

没有太多时间来测试你的代码,但是因为我使用它的经验很多。发现喜欢这个的东西也许吧。当对话框中没有数据然后ajax从服务器获取数据并将其设置为对话框时,它会改变对话框的大小,我遇到了这种问题。所以你应该将open()添加到加载成功函数中。另一件事是你没有向close函数添加任何代码,因此实际上并没有删除它。