Кнопка Стоп от потери активного состояния в наборе кнопок jQuery UI

Я пытаюсь не дать своим кнопкам потерять активный класс при отпускании мыши, но я не могу заставить его работать.

Итак, мои кнопки инициализируются с помощью jQuery buttonset(), Это кнопки, а не флажки. О флажках не может быть и речи, потому что для их работы требуются идентификаторы.

Это мой код:

$('.jquery_ui_buttonset', this.scope).buttonset();

$('.jquery_ui_buttonset > button', this.scope).each(function() {
    $(this).bind('mouseleave keyup mouseup blur', function(e) {
        if ($(this).hasClass('ui-state-persist')) {
            e.stopImmediatePropagation();
            if (e.type == 'blur') {
                $(this).removeClass('ui-state-focus');
            }
            $(this).removeClass('ui-state-hover');
        }
    });
});

Идея состоит в том, что если кнопка имеет ui-state-persist класс, он не должен терять ui-state-active класс, пока оба явно не удалены. Переключение активных кнопок осуществляется по нажатию этим обработчиком:

CMSPage.prototype.switchEditTab = function(e) {
    if (e.data.params.id == null) {
        return;
    }

    $('.editor .body', this.scope).hide();
    $('.editor .header button', this.scope).removeClass('ui-state-active').removeClass('ui-state-persist');
    $('.editor .body[data-tab-id=' + e.data.params.id + ']', this.scope).show();
    $('.editor .header button[data-id=' + e.data.params.id + ']', this.scope)
        .addClass('ui-state-active').addClass('ui-state-persist');
}

Я также попытался добавить e.stopPropagation() а также e.preventDefault() и все их комбинации, но это не работает. И этот точно такой же код работает для обычных кнопок пользовательского интерфейса (те, которые не в buttonset).

Любая помощь будет оценена.

РЕДАКТИРОВАТЬ

Я до сих пор не решил эту проблему. Я хотел бы дать вам, ребята, награду за помощь, но я не могу, так как я новый участник. Никто никогда не сталкивался с этой проблемой, в которой он хотел бы использовать buttonset() с постоянно активными кнопками, а не флажками?

0 ответов

Другие вопросы по тегам