我的jquery模态框决定不是模态的

时间:2011-11-28 20:05:17

标签: jquery modal-dialog

我没有将jQuery CSS模态文件添加到我的网站,但是假设当modal设置为true时它仍然会禁用我的页面的其余部分。这似乎没有发生。我的代码是否正在执行任何会禁用表单模态的功能?

$("#foo").click(function(){
    $("#bar").dialog({
        width: 400,
        modal: true,
        resizable: false,
        buttons: {
            "Save": function(){
                $.post('remote_foo.php', $('#bar').serialize(), function(data){
                    $('#tracediv').html(data);
                })
                $(this).dialog("close");
            },
            "cancel": function(){
                $(this).dialog("close");
            }
        }//end of buttons
    }).('open');//end of jquery dialog
})// end of click function

2 个答案:

答案 0 :(得分:4)

jQuery UI Dialog不会“禁用”页面的其余部分。它通过在页面顶部放置一个div来工作,所以如果我尝试点击任何我实际上点击覆盖div的东西,而不是下面的元素。这给了他们一种被禁用的错觉,尽管他们确实没有。

由于您的页面上没有CSS,因此叠加div很可能没有正确格式化,也不会阻止对底层元素的访问。

答案 1 :(得分:1)

您确实需要包含CSS,因为它不是“禁用页面的其余部分”,而只是向DOM添加div,其类为ui-widget-overlay,设置{{1} }}

定位与position: absolute相结合,无法点击页面的其余部分。