jQuery UI - Firefox中的对话隐藏效果 - 闪烁

时间:2009-10-01 01:05:14

标签: jquery jquery-ui jquery-ui-dialog

我有一个在动态生成的元素上调用.dialog的函数。代码:

dialog: function(message){
    $('<div>').attr('innerHTML',message).dialog({
        draggable: false,
        width: 500,
        hide: 'puff',
        resizable: false,
        bgiframe: true,
        modal: true,
        buttons: {
            Ok: function() {
                $(this).dialog('close');
            }
        }
    });
};

(对话框是名为Global的对象的函数)

当我在IE中关闭对话框时,效果按预期工作。然而,在Firefox中,隐藏效果是各种锯齿状和“闪烁”。我已经看到有关FF中的''闪烁'的其他问题,但它们似乎并不适合我的情况。

请给我一些好消息告诉我,我做错了,Firefox会支持这些效果。

这是IE在FF失败时成功的几次之一。

1 个答案:

答案 0 :(得分:1)

我在滚动条和可见性方面遇到了类似的问题。这不是FireFox的错误。我可以将它追溯到jQuery中的一行,在css()函数中它调用swap()函数:

jQuery.swap( elem, props, getWH );

请参阅http://dev.jquery.com/ticket/5743了解这种情况发生的原因。

jQuery交换功能暂时更新DOM,强制FireFox刷新页面。您可能希望从您的示例中创建一个测试用例,然后在jQuery中注释掉交换调用以验证这一点,并在jQuery票证系统中提交另一个错误。