jQuery Mobile automatycznie zaokrągla wszystkie rogi elementów wejściowych, dodając klasę ui-corner-all
. Zauważyłem, że jeśli ręcznie zmienię tę klasę na ui-corner-left
w inspektorze Chrome, a następnie poprawnie tylko zaokrąglone rogi po lewej stronie (u góry iu dołu). Można to oczywiście łatwo zrobić za pomocą jednej linii jQuery, takiej jak
$("#myid").removeClass("ui-corner-all").addClass("ui-corner-left");
Moje pytanie brzmi: czy jest sposób, w jaki mogę poinstruować jQuery Mobile, aby zastosował tę klasę od razu, bez konieczności wykonywania dodatkowego kodu po tym, jak JQM wykona swoją pracę?
Odpowiedzi:
0 dla odpowiedzi № 1Zasadniczo można zastosować następujące, ale Twoim celem jest uruchomienie bez dodatkowego wykonywania kodu, zobaczmy, czy mamy szansę go zdobyć, nawet szukam tego samego pytania, ale następujące jest moje rozwiązanie.
$("div").live("pageshow",function(event){
$("#myid").removeClass("ui-corner-all").addClass("ui-corner-left");
});
0 dla odpowiedzi nr 2
Możesz zastąpić wartość domyślną, określając w pliku index.html żądaną klasę mobilną jquery. Dobrym przykładem byłoby, zamiast:
<ul id="myid" data-inset="true" data-theme="a" data-role="listview" class="ui-listview ui-listview-inset ui-shadow">
który automatycznie wstawiłby to
class ui-corner-all
następnie dodasz własną klasę:
<ul id="myid" data-inset="true" data-theme="a" data-role="listview" class="ui-listview ui-corner-left ui-listview-inset ui-shadow">
W Firefoksie klasa ui-corner-all nie dostaje sięautomatycznie dodane dla mnie, być może używasz starszej wersji jquery mobile i potrzebujesz aktualizacji. Jeśli chcesz to zrobić dynamicznie w pliku javascript:
$("#my_page_id").live("pagecreate",function(){
var ul = $("<ul id="myid" data-inset="true" data-theme="a" data-role="listview" class="ui-listview ui-listview-inset ui-corner-left ui-shadow">");
ul.append($("<li class="ui-li ui-li-static ui-body-a ui-corner-left">").append("Code Slayer!!!"));
$("mydiv_in_mypage").html(ul);
});
jak przy ponownym zapisywaniu zawartości div ponownie, automatycznie usuwając starą zawartość. Jeśli wyświetlisz wiele informacji na liście, możesz użyć
$.mobile.showPageLoadingMsg("a","Page Loading", true);
a następnie ukryj wiadomość, gdy strona zostanie w pełni wyświetlona.
0 dla odpowiedzi № 3
hej Po prostu możesz to zrobić
<a href="#panel" data-corners="false"></a>