我需要在返回Ajax数据后重新定位现有的popover(返回的数据大小会有所不同),我这样做是通过修改.css top
和left
来实现的完成块。
我可以通过以下方式读取高度和宽度:
$popoverElement.height()
$popoverElement.width()
然后重新计算$popoverElement.css({top: newtop})
和$popoverElement.css({left: newleft})
的位置。
从其他帖子看,这似乎是唯一的选择。
如果当前弹出框的data-placement
为right
,我只需要更改顶部(以调整弹出窗口的垂直位置)。但是,如果data-placement
为left
,那么我还需要更改弹出窗口的水平位置。
如何阅读popover的data-placement
属性,以便在if子句中使用?我在页面中正确设置了此属性,但不知道如何在我的函数中引用它。
编辑:我这样做的原因是因为当弹出窗口调整新内容大小时箭头不再对齐 - 这是我试图解决的问题,如果有更好的方法来实现这一点,请告诉我!
答案 0 :(得分:1)
您可以从与弹出窗口实例关联的bs数据对象中获取它。
var popoverData = $popoverElement.data('bs.popover');
var popoverPlacement = popoverData.options.placement;
console.log(popoverPlacement);
答案 1 :(得分:0)