JQuery UI对话框显示在页面而不是弹出窗口

时间:2015-09-07 13:36:08

标签: javascript jquery html jquery-ui popup

我有一个jqueryUI对话框弹出窗口显示在页面上......并在请求时弹出。一些奇怪的功能。 div中的任何内容都将显示在页面上,然后弹出窗口将无法使用div上的内容。我想在文档准备好之前创建弹出窗口。这是我的对象运行的代码,再次在文档准备好之前。

    var edit_div=document.createElement('div');                 
    var me = this;
    $(edit_div).dialog(
        {
            autoOpen: false,
            height: 400,
            width: 600,
            resizable: false,
            modal: true,
            buttons: 
            {
                "Submit": function() 
                {
                    me.submitForm();
                },
                Cancel: function() 
                {
                    $( this ).dialog( "close" );
                }
            },
            close: function() 
            {
            },

        });

如果我将对话框创建代码移动到单独的函数并在文档准备就绪时调用它,则弹出窗口正常工作:

$(document).ready(function()
{
   mfg_table.init();
}

用于创建对话框的初始化代码

   this.init = function()
    {
        //alert('initing');
        var me = this;
        $('#' +this.table_id + this.edit_table_name).dialog(
            {
                autoOpen: false,
                height: 400,
                width: 600,
                resizable: false,
                modal: true,
                buttons: 
                {
                    "Submit": function() 
                    {
                        me.submitForm();
                    },
                    Cancel: function() 
                    {
                        $( this ).dialog( "close" );
                    }
                },
                close: function() 
                {
                },

            });
    }

那么为什么我不能在渲染页面之前在DOM对象上创建对话框?

1 个答案:

答案 0 :(得分:0)

是否有可能在浏览器加载jquery.js文件之前调用脚本?

Document.ready在运行代码之前等待页面完全加载。没有它就无法正常工作这一事实意味着在您尝试运行脚本之前没有加载必要的资源。

您可能希望尝试将内联脚本移动到html文件的最后,特别是在引用了所有.js和插件文件之后。

我希望我能更具体一点,但如果没有更多代码或实例,很难看到最新情况。