Невозможно стилизовать активное состояние кнопки закрытия диалогового окна jqueryUI - PullRequest
6 голосов
/ 10 октября 2011

Я хочу стилизовать активное состояние кнопки закрытия (в строке заголовка) в диалоге jqueryUI.Я установил его нормально и: состояние при наведении штрафа хорошо.Но состояние: active никогда не срабатывает.

Есть ли в плагине что-то, что мешает состоянию: active в ссылке кнопки закрытия?Можно ли это изменить, чтобы оно работало?

Вот пример проблемы: Просмотреть пример

Ответы [ 3 ]

2 голосов
/ 12 октября 2011

Это является следствием отключения выбора для TitleBar диалогового виджета в браузере, который не поддерживает событие «selectstart».Для этих браузеров они отключают событие mousedown.

строка 145: jquery.ui.dialog.js

        uiDialogTitlebar.find( "*" ).add( uiDialogTitlebar ).disableSelection();

строка 120: jquery.ui.core.js

    disableSelection: function() {
    return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
        ".ui-disableSelection", function( event ) {
            event.preventDefault();
        });
},

enableSelection: function() {
    return this.unbind( ".ui-disableSelection" );
}

, поэтому вы можете использовать enableSelection () или удалите это сами

1 голос
/ 12 октября 2011

Учитывая комментарии @Bizniztime, почему бы не сделать это в javascript?

$(".ui-dialog-titlebar-close").mousedown(function() {
    $(this).css("background", "#000");
}).mouseover(function() {
    $(this).css("background", "#0F0");    
}).mouseout(function() {
    $(this).css("background", "#F00");    
});

Вы также можете добавлять / удалять классы ...

1 голос
/ 10 октября 2011

Состояние :active срабатывает только при нажатии.В этот момент ваш диалог закроется немедленно, поэтому я сомневаюсь, что вы видите его состояние.Можете ли вы привести пример, если это не отвечает на ваш вопрос?

...