1

ページに複数のモードレス ダイアログを配置する予定です。ダイアログがクリックされたときに.ui-state-focusクラスが取得され、クリックすると削除されるので、アクティブ/非アクティブなダイアログのスタイルを簡単に設定できることを期待していました。私は基本的にその境界線の色を変更したい。

私はjqueryUI 1.10を使用していますが、残念ながら、CSSだけを使用してダイアログのフォーカスのオン/オフをスタイルする方法がわかりません。

この機能を追加する最良の方法は何ですか? 元のダイアログ ウィジェットに基づいて新しいダイアログ ウィジェットを派生させたいと思っていますが、これをコーディングする最善の方法についてアドバイスをいただければ幸いです。

4

1 に答える 1

2

このようなもの:

$('.ui-dialog').on('click', function() {
    $('.ui-dialog').removeClass('ui-state-focus');
    $(this).addClass('ui-state-focus');
});

また、ユーザーがダイアログ以外のものをクリックした場合にフォーカスを削除するには:

$(document).on('click', function(e) {
    var $target = $(e.target);
    if(!$target.hasClass('ui-dialog') && $target.parents().hasClass('ui-dialog')) {
        $('.ui-dialog').removeClass('ui-state-focus');
    }
});
于 2013-02-07T08:57:32.420 に答える