0

動的に生成された要素で .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 の UI の「ちらつき」について他の質問が寄せられているのを見たことがありますが、私の状況にはあまり当てはまらないようでした。

良いニュースを教えてください。私が何か間違ったことをしていて、Firefox がこれらの効果をサポートしていることを教えてください。

これは、IE が成功し、FF が失敗した数少ない例の 1 つです。

4

1 に答える 1

1

スクロールバーと可視性についても同様の問題がありました。これは FireFox のバグではありません。css() 関数で swap() 関数を呼び出す jQuery の行までたどることができます。

jQuery.swap( elem, props, getWH );

これが発生する理由については、 http://dev.jquery.com/ticket/5743を参照してください。

jQuery スワップ関数は DOM を一時的に更新し、FireFox にページの更新を強制します。サンプルからテストケースを作成し、jQuery で swap 呼び出しをコメントアウトしてこれを確認し、jQuery チケット システムに別のバグを報告することもできます。

于 2010-02-09T08:26:07.953 に答える