2012-09-25 19 views
29

मैं Django के साथ बूटस्ट्रैप का उपयोग कर रहा हूं और अब तक सबकुछ काम करता है। हालांकि, मैं पॉपओवर कार्यक्षमता का उपयोग करने की कोशिश कर रहा हूं, और मैं एक समस्या में चल रहा हूं। जब भी मेरा पॉपओवर क्लिक करता है, पृष्ठ शीर्ष पर वापस स्क्रॉल करता है ... लेकिन पॉपओवर दिखाई देता है। यहां मेरा कोड है:पृष्ठ के शीर्ष पर एक पॉपओवर स्क्रॉल पर क्लिक करना [बूटस्ट्रैप और Django]

//////////<..... a lot more HTML ....>////////// 
<div class="bs-docs-example"> 
<a href="#" class="btn btn-large btn-danger" rel="popover" title="A Title" id="testpop" data-content="And here's some amazing content. It's very engaging. right?">Click to toggle popover</a> 
</div> 
{% endblock %} 


{% block js %} 
{{ block.super }} 

{% bootstrap_javascript_tag "modal" %} 
{% bootstrap_javascript_tag "alert" %} 
{% bootstrap_javascript_tag "tooltip" %} 
{% bootstrap_javascript_tag "popover" %} 

<script type="text/javascript"> 
$("#testpop").popover(); 
</script> 

बहुत बहुत धन्यवाद!

+1

साथ href="#..." जगह ले सकता है आप 'पॉपओवर()' हैंडलर में डिफ़ॉल्ट घटना कार्रवाई को रोकने के लिए की जरूरत है। जैसे '$ ('# testpop')। क्लिक करें (फ़ंक्शन (ई) {e.preventDefault(); ...});' –

+0

@NRohler: jinx – dokkaebi

+3

यह http://stackoverflow.com/questions/ का डुप्लिकेट है 13755033/कैसे करने वाली ठीक-स्क्रॉलिंग-साथ-चहचहाना-बूटस्ट्रैप और पॉपओवर। भले ही इस सवाल से पहले पूछा गया था, उसमें एक और पूरा जवाब है। – Kelan

उत्तर

35

आप एंकर तत्व के डिफ़ॉल्ट कार्रवाई रोकने के द्वारा कि हल कर सकते हैं: पॉपओवर भीतर autofocus=on साथ एक तत्व होने से

$('a#testpop').on('click', function(e) {e.preventDefault(); return true;}); 
+0

दुख की बात है कि इस जवाब में से कोई भी समाधान मेरे लिए काम नहीं करता है। पॉपओवर न केवल मेरे लिए पृष्ठ स्क्रॉल करता है बल्कि अन्य एंकर व्यवहारों के साथ-साथ jquery-ui डेटपिकर भी मारता है। :(कोई विचार? – will824

+1

जैसा ऊपर बताया गया है, आप इस संबंधित उत्तर की जांच कर सकते हैं: http://stackoverflow.com/a/13759775/931277 वे एक एंकर की बजाय div का उपयोग करने का सुझाव देते हैं, जो मदद कर सकता है। आपके मामले में ऐसा लगता है जो चयनकर्ता आप पॉपओवर व्यवहार जोड़ने के लिए उपयोग कर रहे हैं वह पर्याप्त विशिष्ट नहीं हो सकता है। संभवतः यह आपके मामले के लिए एक नया प्रश्न खोलने और कुछ कोड पोस्ट करने के लायक है। – dokkaebi

+0

पॉपओवर के साथ अन्य मुद्दों को हल और हल किया गया है, इसके बारे में अंतिम पृष्ठ को पृष्ठ पर स्वत: स्क्रॉल करने के अलावा। मैंने एसओ में पाया गया हर एक समाधान के साथ-साथ कुछ अन्य लोगों को कोई फायदा नहीं हुआ। एक नया प्रश्न पोस्ट करने की आवश्यकता होगी :( – will824

2

यह भी कारण हो सकता है (क्रोम में परीक्षण)

+0

आपको यह आदमी कैसे मिला? –

+0

यह मेरे लिए काम नहीं करता (बूटस्ट्रैप 4) – guero64

16

आप कर सकते हैं एंकर टैग में href = "जावास्क्रिप्ट: //" जोड़ें।

+0

यह चाल है मुझे – ChicagoSky

+0

इतना आसान है! और ब्राउज़र में यूआरएल में कोई बदलाव नहीं है। – MaxP

+0

यह मेरे लिए काम करता है (बूटस्ट्रैप 4) – guero64

22

href = "#" टैग हटाएं, इसे काम करना चाहिए।

+4

बूटस्ट्रैप दस्तावेज़ों के अनुसार, एक नोट के रूप में, यदि आप उपयोग कर रहे हैं तो आपको यह नहीं करना चाहिए एक बर्खास्त पॉपअप। –

+1

@Knyght - संस्करण 3 के साथ आप 'href' को हटा सकते हैं लेकिन आपको कुछ अन्य विशेषताओं को जोड़ने की आवश्यकता है। [अगले क्लिक पर डिसमिस करें] के लिए दस्तावेज़ देखें (http://getbootstrap.com/javascript/#dismiss -ऑन-अगली-क्लिक)। – Tony

+0

इसने मेरे लिए पॉपओवर को पूरी तरह अक्षम कर दिया (बूटस्ट्रैप 4) – guero64

0

मैं बूटस्ट्रैप 2.3.2

बिंदु उपयोग कर रहा हूँ पर क्लिक के बारे में नहीं है। यहां तक ​​कि अगर मैं प्रोग्राम पॉप शो को प्रोग्रामेटिक रूप से कॉल करता हूं, तो यह मुझे शीर्ष तक स्क्रॉल करता है।

बिंदु बूटस्ट्रैप टूलटिप शो फ़ंक्शन पर है।

$tip.detach().css({ top: 0, left: 0, display: 'block' })

यह जब टिप अलग करने सिर्फ अपनी ऊंचाई और चौड़ाई प्राप्त करने के लिए प्रदर्शन ब्लॉक लागू होता है: वहाँ वहाँ एक पंक्ति है। यह एक आध्यात्मिक सवाल है! अदृश्य तत्वों की ऊंचाई नहीं है !! इसे ठीक करने के मैं उस लाइन टिप्पणी की है और कहा:

$tip.show(); 

बस लाइन जहां यह एक स्थिति हो जाता है के बाद:

pos = this.getPosition() 

यह मेरे लिए काम किया।

0

मुझे बूटस्ट्रैप v3.3.2 के साथ एक ही समस्या का सामना करना पड़ा और एंकर टैग के बजाय बटन का उपयोग करके इसे हल किया गया।

मैं फिर Bootstrap docs पर वापस गया और पाया कि सभी पॉपओवर उदाहरणों में से एक बटन का उपयोग करते हैं - और आश्चर्यचकित आश्चर्य - जो एंकर का उपयोग करता है वह href विशेषता को छोड़ देता है!

संबंधित मुद्दे