我有一个在动态生成的元素上调用.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失败时成功的几次之一。
答案 0 :(得分:1)
我在滚动条和可见性方面遇到了类似的问题。这不是FireFox的错误。我可以将它追溯到jQuery中的一行,在css()函数中它调用swap()函数:
jQuery.swap( elem, props, getWH );
请参阅http://dev.jquery.com/ticket/5743了解这种情况发生的原因。
jQuery交换功能暂时更新DOM,强制FireFox刷新页面。您可能希望从您的示例中创建一个测试用例,然后在jQuery中注释掉交换调用以验证这一点,并在jQuery票证系统中提交另一个错误。