2017-01-06 68 views
1

一旦返回Ajax數據(返回的數據大小會有所不同),我需要重新定位現有的彈出窗口,我正在通過修改完成塊中的彈出窗口的.css topleft來完成此操作。如何獲得Bootstrap popover現有popover的「數據放置」?

我可以讀取的高度和寬度與:

$popoverElement.height() 
$popoverElement.width() 

然後重新計算$popoverElement.css({top: newtop})$popoverElement.css({left: newleft})位置。

從看其他帖子,這似乎是唯一的選擇。

如果當前popover的data-placementright,我只需要改變top(調整popover的垂直位置)。但是,如果data-placementleft那麼我還需要更改彈窗的水平位置。

我該如何閱讀彈出的data-placement屬性,以便在if子句中使用?我在頁面中正確設置了這個屬性,但不知道如何在我的函數中引用它。

編輯:我這樣做的原因是因爲當彈出窗口調整到新內容時箭頭不再對齊 - 這是我想解決的問題,如果有更好的方法來實現這個,請讓我知道!

回答

1

您可以從與popover實例關聯的bs數據對象中獲取它。

var popoverData = $popoverElement.data('bs.popover');  
var popoverPlacement = popoverData.options.placement; 
console.log(popoverPlacement);