2010-12-17 7 views
10

Zastanawiam się, jaki jest najłatwiejszy sposób poinformowania interfejsu JQuery, aby nie dodawał klas stylu? Próbuję użyć wtyczki tabulatorów, która ma wiele funkcji, których potrzebuję ... ale naprawdę chcę, żeby NIC nie robił, jeśli chodzi o style. Chcę być w całości odpowiedzialny za to, ponieważ, szczerze mówiąc, wartości domyślne są zbyt zajęte i po prostu nie działają dla projektu mini-listy.Jak zapobiec automatycznemu dodawaniu stylów przez interfejs użytkownika jquery?

Znalazłem podobne pytanie tutaj ...: jquery ui tabs major style change

... Ale nigdy nie dostaliśmy wokół do zapobiegania klas od dodawanych w pierwszej kolejności.

Możesz po prostu odmówić załadowania motywu css u góry dokumentu, ale wtedy widget tabulatorów przestaje działać, mimo że nie powoduje żadnych błędów javascript. Cała sytuacja jest po prostu straszne, aby być, a ja nienawidzę mieć zaprogramować moje własne klapki widget tylko dlatego jQuery UI odmawia pozwolił mi korzystać z własnych stylów :(

Pomoc?

+0

Jednym ze sposobów byłoby stworzenie listy własny motyw z tematem i spraw, aby wszystko było jak najmniejsze. – brett

+0

@brett: Tak, myślałem o tym ... ale naprawdę lubię niektóre z tematów. Podobnie jak selektor dat i inne są idealnie w porządku. Po prostu chcę powiedzieć to poprzez jakąś opcję konfiguracji: "Hej, nie dodawaj żadnych zajęć, jeśli to wygląda na bzdura, niech to będzie moja wina!" – egervari

+0

Chcę również zauważyć, że nie wczytywanie kompozycji css w ogóle powoduje, że wtyczka tabulatorów nie działa, co jest okropne. – egervari

Odpowiedz

4

jeśli jesteś Ponownie szuka opcji jQuery UI, który uniemożliwia dodanie klas, masz szczęście ..

Twój najlepszy zakład jest jak @ brett zasugerował, zrób minimalistyczny temat.Alternatywnie, mogę sobie wyobrazić funkcję javascript, która daje DOM element, przeszukał go i dzieci szukające listy klas w ich atrybutach klasy, a następnie usuwając każdy z nich. Wydaje się jednak zły!

+0

Całkiem źle, że to jeszcze nie jest opcja. W niektórych przypadkach muszę napisać css, aby odliczyć zapytanie ui. –

5

Jeśli chcesz istnieć styl, z wyjątkiem niektórych widżetów (kart), możesz dodać zewnętrzny div # mytabs, a następnie zastąpić domyślny styl zastosowany przez interfejs użytkownika jquery.

Quick (rough) demo dla zilustrowania mojego punktu.

#mytabs #tabs2 ul.ui-tabs-nav{ 
    background:lime; 
    border-radius:0; 
} 
#mytabs #tabs2.ui-tabs, #mytabs #tabs2.ui-widget{ 
    border:magenta; 
    border-radius:0; 
    background:cyan; 
} 

Daje to możliwość użycia domyślnej stylizacji (nawet kart) w innym obszarze. Można oczywiście zmienić styl (lub ponownie dokonać przesłonięć) na klasach .ui-tabs-nav.

0

może dodać zakres css podczas pobierania jQuery UI pakiet

0

innym rozwiązaniem byłoby usunięcie selektywnie klasę automatycznie dodany przez jQueryUI

somehting jak:

$('#accordion-no-jquery-style').children().attr('class', 'custom-accordion-style')