2012-09-25 74 views
29

我使用引導與Django和迄今爲止一切工作。但是,我試圖使用popover功能,並且遇到問題。無論何時單擊我的彈出窗口,頁面會滾動回頂端......但彈出窗口確實會出現。這裏是我的代碼:點擊一個popover滾動回到頁面頂部[Bootstrap和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')。click(function(e){e.preventDefault(); ...});' –

+0

@NRohler:jinx – dokkaebi

+3

這是http://stackoverflow.com/questions/的重複13755033 /如何做修復滾動與 - Twitter的引導和-酥料餅。即使這個問題首先被問到,那個人似乎有更完整的答案。 – Kelan

回答

35

可以通過防止錨固元件的默認動作解決:

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

可悲的是這個答案中的解決方案沒有爲我工作。 Popover不僅爲我滾動頁面,而且還殺死其他錨定行爲以及jquery-ui datepicker。 :(任何想法? – will824

+1

如上所述,你可能會檢查這個相關的答案:http://stackoverflow.com/a/13759775/931277他們建議使用div而不是錨點,這可能會有所幫助。在你的情況下,它聽起來像您用來添加彈出式行爲的選擇器可能不夠具體,可能值得打開一個特定於您的案例的新問題,並張貼一些代碼。 – dokkaebi

+0

找到並解決了其他問題,除了最後一個關於它自動滾動到頁面的問題外。我嘗試了在SO中找到的每個解決方案以及其他一些解決方案,但都無濟於事。需要發佈一個新的問題:( – will824

2

這也可以是使由酥料餅內具有autofocus=on的元件(在鉻測試)

+0

你是怎麼找到這個人的? –

+0

這對我來說不起作用(引導4) – guero64

16

可以添加href =「javascript://」到錨標籤。

+0

這沒有把戲我 – ChicagoSky

+0

這麼簡單!並沒有改變瀏覽器的網址。 – MaxP

+0

這對我有用(引導4) – guero64

22

刪除href =「#」標記,它應該工作。

+4

就像一個說明,根據Bootstrap文檔,你不應該這樣做,如果你是如果你使用 –

+1

@Knyght - 使用第3版,您可以刪除「href」,但您需要添加其他一些屬性。請參閱[關閉下一次點擊]的文檔(http://getbootstrap.com/javascript/#dismiss -on-next-click) – Tony

+0

這完全禁用了popover(bootstrap 4) – guero64

0

我正在使用Bootstrap 2.3.2

重點不在於點擊。即使我以編程方式調用show popover,它也會將我滾動到頂部。

重點是在引導工具提示顯示功能。有一行有:

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

它拆卸尖端時只是爲了得到其高度和寬度應用於顯示塊。這是一個形而上學的問題!隱形元素沒有高度!爲了解決這個問題我評論該行補充道:

$tip.show(); 

那裏得到的位置線剛過:

pos = this.getPosition() 

它的工作給我。

0

我遇到了與Bootstrap v3.3.2相同的問題,並通過使用按鈕而不是錨標記來解決它。

然後我回到Bootstrap docs,發現除了其中一個給出的popover示例使用了按鈕 -​​ 並且出人意料的是 - 使用錨的人留下了href屬性!

0

您可以data-target="#..."