/ / jQuery Mobile: jawnie zastępuje zaokrąglanie wszystkich narożników - jquery, jquery-mobile, zaokrąglone rogi

jQuery Mobile: jawnie nadpisuje zaokrąglenie wszystkich narożników - jquery, jquery-mobile, zaokrąglone rogi

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 № 1

Zasadniczo 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>