Почему отключенное состояние пользовательского интерфейса применяется к моим элементам динамически?

#jquery #tabs #jquery-ui-tabs #jquery-tabs

#jquery #вкладки #jquery-ui-tabs #jquery-tabs

Вопрос:

У меня есть кнопка добавить для добавления новых вкладок. Список вкладок также можно сортировать.

При нажатии кнопки для добавления новой вкладки в ее класс динамически добавляется «отключенное состояние пользовательского интерфейса». Это довольно раздражает.

Кнопка добавить является частью вкладки. Я динамически добавляю его после отображения моих вкладок.

 $('#tabs').append('<li id="tab-add" class="noSort"><a href="#" alt="Add Tab" title="Add Tab" class="add-tab"></a></li>');
  

Есть ли причина, по которой добавляется отключенное состояние пользовательского интерфейса, и могу ли я отключить это?

В firebug я отчетливо вижу, что отключенное состояние пользовательского интерфейса добавляется после noSort.

Спасибо.

Ответ №1:

На вашей вкладке нет href атрибута ( # на самом деле), что делает jQuery-UI tabs() методом для его отключения:

https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.tabs.js#L264

Комментарии:

1. Спасибо, скорее всего, это все. Но моя кнопка не имеет панели и, следовательно, не нуждается в ссылке. При ссылке я получаю исключение, потому что панель не существует.

2. После вызова tabs метода найдите новый li элемент и удалите ui-state-disabled класс: jsfiddle.net/8UUwg

Ответ №2:

попробуйте это
$(«#your ul id > li:has(a[href])»).removeClass(«ui-state-default ui-corner-top»).css(«font-weight», «normal»);