Bootstrap3.0ポップオーバーとツールチップ


84

Bootstrapを初めて使用しますが、ポップオーバーとツールチップの機能を動作させるのに問題があります。ドロップダウンとモデルに問題はありませんでしたが、ポップオーバーとツールチップに何かが欠けているようです。

ツールチップが表示されますが、ブートストラップの例のようにスタイルや場所が設定されていません。そして、ポップオーバーはまったく機能していません。

見て、私が欠けているものを教えてください。

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

数分前に同じ質問を投稿しました。BS3を使用して、モーダルやタブのように機能しますが、ツールチップやポップオーバーはありません...何かが見つかった場合は更新されます。
xXPhenom22Xx 2013

ポップオーバーの場合、オプションは定義されていません
Cyber​​maxs 2013

今のところ、デフォルトの動作を取得しようとしていましたが、クリックではなくホバーで表示することに興味がありますが、それは次のことでした。オプションのために何かを入れる必要がありますか?
user2560895 2013

上記のコードは私が現在使用しているものであり、まだ機能していません。助言がありますか?私は間違った順序か何かを持っていますか?
user2560895 2013

回答:


147

EvanLarsenが最良の答えを持っていることがわかりました。彼の答えに賛成してください(そして/またはそれを正解として選択してください)-それは素晴らしいです。

ここでjsFiddleを動作させる

Evanのトリックを使用すると、1行のコードですべてのツールチップをインスタンス化できます。

$('[data-toggle="tooltip"]').tooltip({'placement': 'top'});

長い段落のすべてのツールチップには、その1行だけで機能するツールチップがあることがわかります。

jsFiddleの例(上記のリンク)では、1つのツールチップ([サインイン]ボタンによる)がデフォルトでオンになっている状況も追加しました。また、ツールチップコードは、HTMLマークアップではなく、jQueryのボタンに追加されます。


ポップオーバーツールチップと同じように機能します

$('[data-toggle="popover"]').popover({trigger: 'hover','placement': 'top'});

そして、あなたはそれを持っています!ついに成功。

このことを理解する上での最大の問題の1つは、jsFiddleでブートストラップを機能させることでした...これがあなたがしなければならないことです:

  1. ここからTwitterBootstrap CDNのリファレンスを入手してください:http//www.bootstrapcdn.com/
  2. 各リンクをメモ帳に貼り付け、URL以外のすべてを削除します。例:
    //netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css
  3. jsFiddleの左側で、[外部リソース]アコーディオンドロップダウンを開きます
  4. 各URLに貼り付け、各貼り付けの後にプラス記号を押します
  5. 次に、「Frameworks&Extensions」アコーディオンドロップダウンを開き、jQuery 1.9.1(またはいずれか...)を選択します。

今、あなたは行く準備ができています。


jsFiddleで、トリガーが一重引用符で囲まれていないのに配置が囲まれているのはなぜですか?
HPWD 2013年

正当な理由はありません、私はそれを逃しただけです。しかし、それはうまくいくようです。おそらく、単一ワードキーは引用符は必要ありません-時には彼らが必要とされていません- 。それにもかかわらず、私は普通に入れて
cssyphus

それは私には論理的に聞こえます。明確にしていただきありがとうございます。
HPWD 2013年

4
それは私には意味不明のように聞こえます。ハ!ただそれを言わなければなりませんでした;)
Evan Larsen

特定のコンテナとの相対性理論でその方法を使用できますか?特定のコンテナ内のすべてのツールチップまたはポップオーバーをインスタンス化しますか?
Michael Ecklund 2014

231

これをすべてのページで使用して、ツールチップを有効にします

$(function () { $("[data-toggle='tooltip']").tooltip(); });

4
おかげで、私が与えたすべての答えの中で、私はおそらくこれに最も時間を費やさなかったと言わなければならないでしょう。しかし、それでもどういうわけかそれは最も多くのポイントを与えました。
Evan Larsen

しかし、問題はです。私にとってはChromeでは機能しません。その後、私はいくつかのことやってしまったjsfiddle.net/arunpjohny/4HptX/4をこのポストからstackoverflow.com/questions/18372632/...
。メリー・サラディン

@Md Salahuddin、jqueryを更新したら、今は機能していますか?あなたは質問をしているのですか、それともその声明でしたか?
Evan Larsen 2014

1
それは単なる声明です。私の場合、このコードはchromeで機能していなかったため、代わりにjsfiddle.net/arunpjohny/4HptX/4を使用しました
メリー・サラディン。

27

BOOTSTRAP 3の操作:短くてシンプル

チェック-JSフィドル

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(); 
});

非同期でロードされているデータ(ajax、angularなど)のポップオーバー機能が必要な場合、これは機能しませんが、以下の答えは機能します。
エイドリアンヘドリー2015

6

私はDOM対応でそれをしなければなりませんでした

$( 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
    });
});

そして、ロード順序を次のように変更します。

  • jQuery
  • jQuery UI
  • ブートストラップ

1
私は同様の問題を抱えていました。ブートストラップ後にjqueryuiをロードしていましたが、あなたの答えは私にその問題を認識させました。
ハブソンブロパ2014

ポップオーバーについては、これを確認してください。1。
shaijut 2015年

5

何らかの理由で、コードを機能させることができた唯一の方法は、いくつかのことを切り替えることです。これまで何もうまくいかなかった場合は、これを回転させてください。

$('body').popover({ 
    selector: '[data-toggle="popover"]', 
    trigger: 'hover',
    placement: 'right'
});

1
ポップオーバー要素が最初から表示されていない可能性があるため、これが私のために機能した唯一のことです。ありがとう!
J.タイタス

0

スクリプトに構文エラーがあり、xXPhenom22Xxで示されているように、ツールチップをインスタンス化する必要があります。

<script type="text/javascript">

    $(document).ready(function() {

        $('.btn-danger').tooltip();

    }); //END $(document).ready()

</script>

私はあなたのクラス「btn-danger」を使用したことに注意してください。別のクラスを作成するか、を使用できますid="someidthatimakeup"


さて、あなたが提案したものと一致するようにコードを変更したと思います。それはまだ機能していません。私はまだJavascriptを知らないので、これは少し注意が必要です。私は彼らが同じように機能しなければならない例を取得しようとしています。
user2560895 2013

ポップオーバーのものは少し難しいですが、私はツールチップのものを上記のように機能させました。
cssyphus 2013

0

ツールチップを有効にする必要があります。

$('some id or class that you add to the above a tag').popover({
    trigger: "hover" 
})

いいえ、ツールチップではなく、ポップオーバーにカーソルを合わせるとポップオーバー自体が表示されます。
cpnCrunch 2015

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.