如何获得Bootstrap popover'数据放置'现有的popover?

时间:2017-01-06 11:03:12

标签: javascript twitter-bootstrap popover

我需要在返回Ajax数据后重新定位现有的popover(返回的数据大小会有所不同),我这样做是通过修改.css topleft来实现的完成块。

我可以通过以下方式读取高度和宽度:

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

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

从其他帖子看,这似乎是唯一的选择。

如果当前弹出框的data-placementright,我只需要更改顶部(以调整弹出窗口的垂直位置)。但是,如果data-placementleft,那么我还需要更改弹出窗口的水平位置。

如何阅读popover的data-placement属性,以便在if子句中使用?我在页面中正确设置了此属性,但不知道如何在我的函数中引用它。

编辑:我这样做的原因是因为当弹出窗口调整新内容大小时箭头不再对齐 - 这是我试图解决的问题,如果有更好的方法来实现这一点,请告诉我!

2 个答案:

答案 0 :(得分:1)

您可以从与弹出窗口实例关联的bs数据对象中获取它。

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

答案 1 :(得分:0)

您可以使用jQuery time.Duration来读取当前值(假设已经实例化了popover()):

data()

http://www.codeply.com/go/33aPVnvfyy