jQueryUI selectable: не может применить тему к выбранному элементу (класс "ui-selected") - PullRequest
3 голосов
/ 20 марта 2010

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

Я пытаюсь использовать «выбираемое» взаимодействие в jQueryUI. Он работает как надо - в Firebug я вижу, как класс «ui-selected» применяется к выбранному элементу. Однако визуальной подсказки о том, что элемент был выбран, нет. Я посмотрел в CSS-файле темы (jquery-ui-1.8rc3.custom.css, который я скачал со страницы Themeroller ), и не вижу объявления для класса "ui-selected". Когда я скачал jQueryUI и тему, я проверил каждую опцию, включая опцию «выбираемый».

Как мне сделать, чтобы моя тема определяла класс "ui-selected"? Очевидно, я мог бы просто создать свою собственную декларацию стиля, но это решение не идеально, если я когда-нибудь захочу изменить тему.

Я использую jQuery 1.4.2 и jQueryUI 1.8rc3.

Ответы [ 2 ]

5 голосов
/ 07 сентября 2010

Вы можете динамически установить классы пользовательского интерфейса следующим образом:

$("#selectable ul").selectable({
  unselected: function(){
    $(".ui-state-highlight", this).each(function(){
      $(this).removeClass('ui-state-highlight');
    });
  },
  selected: function(){
    $(".ui-selected", this).each(function(){
      $(this).addClass('ui-state-highlight');
    });
  }
});
$("#selectable li").hover(
  function () {
    $(this).addClass('ui-state-hover');
  }, 
  function () {
    $(this).removeClass('ui-state-hover');
  }
);
1 голос
/ 20 марта 2010

Извините, ответ - отстой, но вы не можете.

Это функциональность, которую должен был бы добавить ThemeRoller, и вы ничего не можете сделать, чтобы автоматически добавить в сгенерированные стили.

Если вы посмотрите демонстрационные страницы , они также вручную делают декларации стиля для .ui-selected

...