बूटस्ट्रैप 3.0 पॉपओवर और टूलटिप्स


84

मैं बूटस्ट्रैप के लिए नया हूं और मुझे काम करने के लिए पॉपओवर और टूलटिप फीचर्स मिलने में परेशानी हो रही है। मुझे ड्रॉप डाउन और मॉडल के साथ कोई समस्या नहीं थी लेकिन मुझे लगता है कि पॉपओवर और टूलटिप्स के लिए कुछ याद आ रहा है।

मुझे दिखाने के लिए टूलटिप्स मिल रहे हैं, लेकिन वे स्टाइलस्ट्रैप नहीं हैं और बूटस्ट्रैप उदाहरणों की तरह स्थित हैं। और पॉपओवर काम नहीं कर रहा है।

कृपया नज़र डालें और मुझे बताएं कि मैं क्या याद कर रहा हूं।

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

मैंने कुछ ही मिनट पहले एक ही सवाल पोस्ट किया था, बीएस 3 का उपयोग करके बाकी सब कुछ भी मोडल्स और टैब्स की तरह काम कर रहा था, लेकिन कोई टूलटिप्स या पॉपओवर ... अपडेट नहीं होगा कि आपको कुछ ढूंढना चाहिए।
xXPhenom22Xx


अभी के लिए मैं केवल डिफ़ॉल्ट व्यवहार प्राप्त करने की कोशिश कर रहा था, लेकिन मुझे क्लिक के बजाय होवर पर इसे दिखाने में दिलचस्पी है, लेकिन यह अगले था। क्या मुझे अभी भी विकल्पों के लिए कुछ डालने की आवश्यकता है?
user2560895

उपरोक्त कोड वह है जो मैं वर्तमान में उपयोग कर रहा हूं और यह अभी भी काम नहीं कर रहा है। कोई सुझाव? क्या मेरे पास गलत क्रम में चीज है या कुछ और है?
user2560895

जवाबों:


147

यह बताता है कि इवान लार्सन के पास सबसे अच्छा जवाब है । कृपया उसके उत्तर को बढ़ाएँ (और / या उसे सही उत्तर के रूप में चुनें) - यह शानदार है।

काम jsFiddle यहाँ

इवान की चाल का उपयोग करके, आप एक कोड की एक पंक्ति के साथ सभी टूलटिप्स को इंस्टेंट कर सकते हैं:

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

आप देखेंगे कि आपके लंबे पैराग्राफ के सभी टूलटिप्स में केवल एक लाइन के साथ काम करने वाले टूलटिप्स हैं।

JsFiddle उदाहरण (ऊपर लिंक) में, मैंने एक स्थिति भी जोड़ी है जहां एक टूलटिप (साइन-इन बटन द्वारा) डिफ़ॉल्ट रूप से चालू है। इसके अलावा, टूलटिप कोड को jQuery में बटन पर जोड़ा जाता है, HTML मार्कअप में नहीं।


R आर करना टूलटिप्स के रूप में ही काम करते हैं:

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

आखिर तुमने इसे हासिल कर ही लिया है! अंत में सफलता।

इस सामान का पता लगाने में सबसे बड़ी समस्याओं में से एक jsFiddle के साथ बूटस्ट्रैप काम कर रहा था ... यहाँ आपको क्या करना चाहिए:

  1. यहाँ से ट्विटर बूटस्ट्रैप सीडीएन का संदर्भ लें: http://www.bootstrapcdn.com/
  2. प्रत्येक लिंक को नोटपैड में पेस्ट करें और URL को छोड़कर सभी को अलग करें। उदाहरण के लिए:
    //netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css
  3. JsFiddle में, बाईं ओर, बाहरी संसाधन अकॉर्डियन ड्रॉपडाउन खोलें
  4. प्रत्येक URL में पेस्ट करें, प्रत्येक पेस्ट के बाद प्लस चिह्न दबाएं
  5. अब, "फ्रेमवर्क एंड एक्सटेंशन्स" को अकॉर्डियन ड्रॉपडाउन खोलें, और jQuery 1.9.1 (या जो भी ...) चुनें

अब आप जाने के लिए तैयार हैं।


jsField में, ट्रिगर सिंगल कोट्स से घिरा क्यों नहीं है लेकिन प्लेसमेंट है?
एचपीडब्ल्यूडी

कोई अच्छा कारण नहीं है, मैंने इसे याद किया। लेकिन यह काम करने लगता है। शायद एकल-शब्द कुंजियों को उद्धरण की आवश्यकता नहीं है - कभी-कभी उन्हें आवश्यकता नहीं होती है - फिर भी, मैं आमतौर पर उन्हें अंदर डालता हूं।
cssyphus

यह मेरे लिए तर्कसंगत लगता है। स्पष्टीकरण देने के लिए धन्यवाद।
HPWD

4
यह मेरे लिए अजीब लगता है। हा! बस इसे कहना था;)
इवान लार्सन

क्या आप एक विशिष्ट कंटेनर के सापेक्षता में उस विधि का उपयोग कर सकते हैं? एक विशिष्ट कंटेनर के भीतर सभी टूलटिप्स या पॉपओवर को इंस्टेंट करना?
माइकल एकक्लुंड

231

मैं टूलटिप को सक्षम करने के लिए अपने सभी पृष्ठों पर इसका उपयोग करता हूं

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

4
धन्यवाद, मेरे द्वारा दिए गए सभी उत्तरों में से, मुझे यह कहना होगा कि मैंने शायद इस पर कम से कम समय बिताया है। लेकिन अभी तक किसी भी तरह से यह सबसे अधिक अंक से सम्मानित किया है।
इवान लार्सन

लेकिन समस्या यह है। यह मेरे लिए क्रोम के साथ काम नहीं कर रहा है। तब मैंने इस पोस्ट stackoverflow.com/questions/18372632/…
Md। सलाहुद्दीन

@Md सलाउद्दीन, तो अब इसके काम करने के बाद, एक बार आपने अपना jquery अपडेट किया? क्या आप एक प्रश्न पूछ रहे हैं या वह एक वक्तव्य था?
इवान लार्सन

1
यह सिर्फ एक बयान है। मैंने jsfiddle.net/arunpjohny/4HptX/4 का उपयोग किया क्योंकि यह कोड मेरे मामले के लिए क्रोम के साथ काम नहीं कर रहा था।
एमडी सलाउद्दीन

27

BOOTSTRAP 3 के साथ काम करना: छोटा और सरल

जांच - जेएस फिडल

एचटीएमएल

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

जावास्क्रिप्ट

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

यदि आप एसिंक्रोनसली (अजाक्स, कोणीय आदि) लोड कर रहे डेटा के लिए पॉप ओवर कार्यक्षमता चाहते हैं तो यह काम नहीं करेगा, लेकिन नीचे दिए गए उत्तर में होगा।
एड्रियन हडले

6

मुझे यह डोम तैयार पर करना था

$( 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 यूआई
  • बूटस्ट्रैप

1
मैं एक समान मुद्दा था, बूटस्ट्रैप के बाद jquery ui लोड कर रहा था, आपके उत्तर ने मुझे इस मुद्दे का एहसास कराया।
हबसन ब्रोपा


5

किसी कारण से मैं काम करने के लिए अपने कोड को प्राप्त करने में सक्षम था, कुछ चीजों को स्विच करके। यदि आपके लिए अब तक कुछ भी काम नहीं किया गया है, तो कृपया इस पर ध्यान दें:

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

1
यह केवल एक चीज है जो मेरे लिए काम करती है क्योंकि पॉपओवर तत्व के साथ शुरू करने के लिए नहीं हो सकता है। धन्यवाद!
जे। टाइटस

0

आपको अपनी स्क्रिप्ट में एक सिंटैक्स त्रुटि है और, जैसा कि xXPhenom22Xx द्वारा नोट किया गया है, आपको टूलटिप को तुरंत हटाना होगा।

<script type="text/javascript">

    $(document).ready(function() {

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

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

</script>

ध्यान दें कि मैंने आपकी कक्षा "बीटीएन-डेंजर" का उपयोग किया है। आप एक अलग वर्ग बना सकते हैं, या एक का उपयोग कर सकते हैं id="someidthatimakeup"


ठीक है, मैंने आपके द्वारा सुझाए गए मैच के लिए कोड बदल दिया है, मुझे लगता है। यह अभी भी काम नहीं कर रहा है। मैं अभी तक जावास्क्रिप्ट नहीं जानता, इसलिए यह थोड़ा मुश्किल है। मैं सिर्फ उन उदाहरणों को प्राप्त करने की कोशिश कर रहा हूं जो उन्हें उसी तरह से काम करने हैं।
user2560895

पॉपओवर एक मुश्किल है, लेकिन मुझे टूलटिप एक के रूप में ऊपर काम करने के लिए मिला है।
cssyphus

0

आपको बस टूलटिप को सक्षम करने की आवश्यकता है:

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

नहीं, यह केवल पॉपओवर को प्रदर्शित करेगा जब आप इस पर होवर करेंगे, टूलटिप नहीं।
CpnCrunch

0

यदि आप रेल और ActiveAdmin का उपयोग कर रहे हैं, तो यह आपकी समस्या होने जा रही है: https://github.com/seyhunak/twitter-bootstrap-rails/issues/450 असल में, active_admin.js के साथ संघर्ष

यह समाधान है: https://stackoverflow.com/a/11745446/264084 (करेन का जवाब) tldr: "विक्रेता" निर्देशिका में active_admin संपत्तियों को ले जाएँ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.