【发布时间】:2017-11-23 07:13:22
【问题描述】:
我想在用户选择网页上的文本时显示一个弹出框 - 我使用的代码如下显示弹出框
HTML
<div id="popover-content" style="display:none">
<button class="pop-sync">Share</button>
<button class="pop-delete">Save</button>
</div>
Javascript
<script>
var div = null;
function popNow() {
var selection = window.getSelection(),
range = selection.getRangeAt(0),
rect = range.getBoundingClientRect();
if (rect.width > 0) {
if (div) {
div.parentNode.removeChild(div);
}
div = document.createElement('div'); // create div to show popover on
document.body.appendChild(div); // append div with selected text
var popOverSettings = {
placement: 'bottom',
container: 'body',
html: true,
div: '[rel="popover"]', //setting div for popover
content: function () {
return $('#popover-content').html();
}
}
$('body').popover(popOverSettings);
}
}
window.onmouseup = popNow;
</script>
它可以工作,但它会在页面底部显示弹出框,而不是在我已明确定义 div 的选定文本底部。
弹出框显示在页脚之后,我怎样才能让它显示在所选文本的底部?
任何想法
干杯
【问题讨论】:
-
哪个版本的BS?
-
引导版本为v3.0.0
-
placement: 'bottom' 这不是罪魁祸首吗?
-
我认为问题出在
$('body').popover(popOverSettings);其设置弹出到页面主体 - @Satya 我不确定 -
您是否尝试过删除 div: '[rel="popover"]' 并将位置:'bottom' 更改为位置:'right'
标签: javascript html twitter-bootstrap popover