Jestem nowy w Bootstrap i mam problemy z uruchomieniem funkcji popover i tooltip. Nie miałem problemu z listą rozwijaną i modelami, ale wydaje mi się, że brakuje mi czegoś do popovera i podpowiedzi.
Pojawiają się podpowiedzi, ale nie są one stylizowane i zlokalizowane jak przykłady bootstrap. A popover w ogóle nie działa.
Proszę spojrzeć i dać mi znać, czego mi brakuje.
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap 101 Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet" media="screen">
<link href="css/font-awesome.min.css" rel="stylesheet" media="screen">
<link href="css/index.css" rel="stylesheet" media="screen">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="../../assets/js/html5shiv.js"></script>
<script src="../../assets/js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<p id="tool"class="muted" style="margin-bottom: 0;">
Tight pants next level keffiyeh
<a href="#" data-toggle="tooltip" title="Default tooltip">you probably</a> haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel <a href="#" data-toggle="tooltip" title="Another tooltip">have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan <a href="#" data-toggle="tooltip" title="Another one here too">whatever keytar</a>, scenester farm-to-table banksy Austin <a href="#" data-toggle="tooltip" title="The last tip!">twitter handle</a> freegan cred raw denim single-origin coffee viral.</p>
<h3>Live demo</h3>
<div style="padding-bottom: 24px;">
<a id="pop" href="#" class="btn btn-lg btn-danger" data-toggle="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">Click to toggle popover</a>
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="http://code.jquery.com/jquery.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script type="text/javascript">
$(document).ready(function() {
$('.tool').tooltip();
$('.btn').popover();
}); //END $(document).ready()
</script>
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap.min.css"></script>
</body>
</html>
javascript
jquery
css
twitter-bootstrap
user2560895
źródło
źródło
Odpowiedzi:
Okazuje się, że Evan Larsen ma najlepszą odpowiedź . Zagłosuj za jego odpowiedź (i / lub zaznacz ją jako poprawną) - jest genialna.
Pracuję tutaj jsFiddle
Używając sztuczki Evana, możesz utworzyć instancję wszystkich podpowiedzi za pomocą jednej linii kodu:
$('[data-toggle="tooltip"]').tooltip({'placement': 'top'});
Zobaczysz, że wszystkie podpowiedzi w twoim długim akapicie mają działające podpowiedzi tylko z tą jedną linią.
W przykładzie jsFiddle (link powyżej) dodałem również sytuację, w której jedna podpowiedź (przy przycisku Zaloguj) jest domyślnie WŁĄCZONA. Ponadto kod podpowiedzi jest DODAWANY do przycisku w jQuery, a nie w kodzie HTML.
Popovers zrobić działają tak samo jak podpowiedzi:
$('[data-toggle="popover"]').popover({trigger: 'hover','placement': 'top'});
I masz to! Nareszcie sukces.
Jednym z największych problemów przy rozwiązywaniu tego problemu było sprawienie, aby bootstrap działał z jsFiddle ... Oto, co musisz zrobić:
//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css
TERAZ jesteś gotowy do pracy.
źródło
Używam tego na wszystkich moich stronach, aby włączyć podpowiedź
$(function () { $("[data-toggle='tooltip']").tooltip(); });
źródło
Praca z BOOTSTRAP 3: Krótka i prosta
Sprawdź - JS Fiddle
HTML
<div id="myDiv"> <button class="btn btn-large btn-danger" data-toggle="tooltip" data-placement="top" title="" data-original-title="Tooltip on top">Tooltip on top</button> </div>
Javascript
$(function () { $("[data-toggle='tooltip']").tooltip(); });
źródło
Musiałem to zrobić na DOM gotowy
$( document ).ready(function () { // this has to be done after the document has been rendered $("[data-toggle='tooltip']").tooltip({html: true}); // enable bootstrap 3 tooltips $('[data-toggle="popover"]').popover({ trigger: 'hover', 'placement': 'top', 'show': true }); });
I zmień moje zamówienia na:
źródło
Z jakiegoś powodu jedynym sposobem, w jaki udało mi się uruchomić kod, jest zamiana kilku rzeczy. Jeśli do tej pory nic nie działało, daj się ponieść temu:
$('body').popover({ selector: '[data-toggle="popover"]', trigger: 'hover', placement: 'right' });
źródło
Masz błąd składniowy w swoim skrypcie i, jak zauważył xXPhenom22Xx, musisz utworzyć instancję podpowiedzi.
<script type="text/javascript"> $(document).ready(function() { $('.btn-danger').tooltip(); }); //END $(document).ready() </script>
Zauważ, że użyłem twojej klasy "btn-danger". Możesz utworzyć inną klasę lub użyć pliku
id="someidthatimakeup"
.źródło
Wystarczy włączyć podpowiedź:
$('some id or class that you add to the above a tag').popover({ trigger: "hover" })
źródło
Jeśli używasz Rails i ActiveAdmin, to będzie twój problem: https://github.com/seyhunak/twitter-bootstrap-rails/issues/450 Zasadniczo konflikt z active_admin.js
Oto rozwiązanie: https://stackoverflow.com/a/11745446/264084 (odpowiedź Karen) tldr: Przenieś zasoby active_admin do katalogu „vendor”.
źródło