2012-04-04 12 views
12

Mam aplikację JQM z jedną konkretną stroną, której nie chcę stylizować.Jak zatrzymać JQM od stylizacji strony?

Wszystko, co znalazłem do tej pory, to data-role='none' - ale nie chcę tego stosować do każdego elementu na stronie ... Czy istnieje sposób, aby się wyłączyć, jeśli tylko dla tej jednej strony?

Odpowiedz

15

Można użyć data-enhance="false" w połączeniu z $.mobile.ignoreContentEnabled=true zatrzymać auto-wzmocnienia że jQuery Komórka robi pseudo-stronie:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" /> 
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
<script> 
$(document).on('mobileinit', function() { 
    $.mobile.ignoreContentEnabled = true; 
}); 
</script> 
<script src="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.js"></script> 

<div data-enhance="false" data-role="page"> 
    ... 
</div>​ 

Powodem trzeba zmienić flagę ignoreContentEnabled jest bo to obciąża CPU do wyszukaj elementy nadrzędne dla data-attribute, więc domyślnie jest to wyłączone.

Oto demo: http://jsfiddle.net/ZtJyL/1/

4

Jak już wspomniano here, można również skorzystać z oficjalnego, theme-less version of the CSS zbudowany specjalnie w celu umożliwienia projektowania niestandardowego tematu.

Z mojego doświadczenia wynika, używając hacki jak data-enhance="false" i data-role="none" często łamie rzeczy strukturalnej, CSS non-tematycznym, jak również.

Dzięki tej metodzie jesteś w stanie zachować wszystkie podstawowe funkcje jQuery Mobile, nie musisz walczyć z hackami i overrides przez cały czas, a otrzymasz lżejszy CSS jako bonus.

+0

Wielkie dzięki! – Skamielina

Powiązane problemy