2013-06-22 13 views
12

Na stronie dokumentacji Bootstrap, tooltip ma podpis:Bootstrap etykietka danych przełącznik

<a href="#" data-toggle="tooltip" title="first tooltip">hover over me</a> 

Co oznacza „dane-przełącznik” atrybut zrobić w tej sytuacji?

Wiem, że jest to przydatne dla kart, ale nie widzę, jaki pożytek może przynieść do podpowiedzi.


Chris

Podpowiedź musi zostać zainicjowany wyraźnie jak w:

$(document).ready(function(){ 
    $(".link").tooltip(); 
}); 

Zakładając, że "a" tag ma klasę "link". Atrybut "data-toggle" nie jest obowiązkowy, aby etykieta narzędzia działała poprawnie. Ale wspomniałeś, że do pliku JavaScript Bootstrap należy rozpoznanie, czy coś jest podpowiedzią. Dlatego nie wydaje się, aby pomijanie "przełączania danych" nadal powodowało działanie podpowiedzi (o ile istnieje wyraźna inicjalizacja). Czy mógłbyś wyjaśnić dalej?

Edit # 2:

Po przeczytaniu niektórych stron emisji GitHub, myślę, że doszli do następującego wniosku (który jest moim najlepszym przypuszczenie).

Początkowo w starszych wersjach Bootstrap, podpis podpowiedź była:

<a href="#" rel="tooltip" title="first tooltip">hover over me</a> 
... 
<a href="#" rel="tooltip" title="first tooltip">hover over me again!</a> 

i programistów mógłby zrobić:

$(document).ready(function(){ 
    $('[rel="tooltip"]').tooltip(); 
}); 

Aby aktywować wszystkie podpowiedzi na raz (ponieważ każda podpowiedź wymaga użycia inicjalizacja do pracy). Innymi słowy, był to tylko wygodny sposób na identyfikację wszystkich podpowiedzi, dzięki czemu można użyć jQuery, aby aktywować je wszystkie.

Ale rel = "tooltip" nie sprawdził się na HTML5, więc ludzie zaczęli sugerować używanie data-toggle = "tooltip", ponieważ Bootstrap używa już przełącznika danych dla innych komponentów i danych- * jest poprawny w HTML5.

Tak więc, domyślam się, że nie ma żadnego specjalnego semantycznego znaczenia lub celu dla danych-toggle = "tooltip", niż w celu zapewnienia wygodnego sposobu na identyfikację wszystkich podpowiedzi.

Pamiętaj, że możesz również zidentyfikować podpowiedzi przy użyciu identyfikatora lub klasy, ale dlaczego nie aktywować wszystkich podpowiedzi na raz (pytanie retoryczne)?

+0

dziobaka, jeśli mają pochodzić z odpowiedzią na własne pytanie, uprzejmie dodaj je jako nową odpowiedź (formularz na dole strony) zamiast dodawać go do samego pytania. – Lemmings19

Odpowiedz

13

Po przeczytaniu niektórych stron wydania GitHub, myślę, że doszedłem do następującego wniosku (co jest moim najlepszym domysłem).

Początkowo w starszych wersjach Bootstrap, podpis podpowiedź była:

<a href="#" rel="tooltip" title="first tooltip">hover over me</a> 
... 
<a href="#" rel="tooltip" title="first tooltip">hover over me again!</a> 

i programistów mógłby zrobić:

$(document).ready(function(){ 
    $('[rel="tooltip"]').tooltip(); 
}); 

Aby aktywować wszystkie podpowiedzi na raz (ponieważ każda podpowiedź wymaga inicjalizacji praca). Innymi słowy, był to po prostu wygodny sposób identyfikacji wszystkich podpowiedzi, dzięki czemu można użyć jQuery, aby aktywować je wszystkie.

Ale rel = "tooltip" nie sprawdził się na HTML5, więc ludzie zaczęli sugerować używanie data-toggle = "tooltip", ponieważ Bootstrap używa już przełącznika danych dla innych komponentów i danych- * jest poprawny w HTML5.

Tak więc, domyślam się, że nie ma żadnego specjalnego semantycznego znaczenia lub celu dla danych-toggle = "tooltip", niż w celu zapewnienia wygodnego sposobu na identyfikację wszystkich podpowiedzi.

Pamiętaj, że możesz również zidentyfikować podpowiedzi przy użyciu identyfikatora lub klasy, ale dlaczego nie aktywować wszystkich podpowiedzi na raz (pytanie retoryczne)?

1

Wybrano użycie data-toggle jako wskaźnika w swoim JavaScript, gdy coś jest podpowiedzią. Gdy plik JS z etykietami narzędzi widzi atrybut data-toggle="tooltip", wie, że należy go uruchomić i uruchomić.

Bardziej powszechnym podejściem może być używanie klasy (<a href="#" class="tooltip" title="first tooltip">hover over me</a>), ale zamiast tego mają atrybut data-*. Czy atrybuty tego samego, działającego i filozoficznego zostały zaprojektowane do manipulacji JavaScriptem, więc przypuszczam, że dobrze jest zachować klasę wolną.

+0

Wiesz, przeglądając scenariusz na GitHubie, jestem w rozsypce. Nie widzę, aby w kodzie był nigdzie mowa. Więc tak ... –

+0

Najlepszy odnośnik, jaki mogę znaleźć, to: https://github.com/twitter/bootstrap/pull/3031 – platypus

+0

Myślę, że mam wyjaśnienie. Zobacz drugą edycję powyżej. – platypus

5

używam to:

<script> 
    $('[title]').tooltip(); 
</script> 

wybiera wszystkie elementy, którym jest tytuł atrybut definiuje i zastępuje domyślne zachowanie podpowiedzi z bootstrapped jednego ..