Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Bootstrap Popover-在bootom上显示_Javascript_Html_Twitter Bootstrap_Popover - Fatal编程技术网

Javascript Bootstrap Popover-在bootom上显示

Javascript Bootstrap Popover-在bootom上显示,javascript,html,twitter-bootstrap,popover,Javascript,Html,Twitter Bootstrap,Popover,当用户选择网页上的文本时,我想显示一个弹出窗口-我使用的代码如下所示以显示弹出窗口 HTML <div id="popover-content" style="display:none"> <button class="pop-sync">Share</button> <button class="pop-delete">Save</button> </div> 分享 拯救 Javascript <

当用户选择网页上的文本时,我想显示一个弹出窗口-我使用的代码如下所示以显示弹出窗口

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>

var-div=null;
函数popNow(){
var selection=window.getSelection(),
范围=选择。getRangeAt(0),
rect=range.getBoundingClientRect();
如果(矩形宽度>0){
如有需要(分区){
div.parentNode.removeChild(div);
}
div=document.createElement('div');//创建div以在其上显示popover
document.body.appendChild(div);//用所选文本追加div
var Poporsettings={
位置:'底部',
容器:'主体',
是的,
div:'[rel=“popover”]',//为popover设置div
内容:功能(){
返回$('#popover content').html();
}
}
$('body').popover(popooversettings);
}
}
window.onmouseup=popNow;
它可以工作,但它在页面底部显示popover,而不是在我已明确定义的
div
的选定文本底部

屏幕截图如下所示

弹出框显示在页脚后,如何使其显示在所选文本的底部

有什么想法吗

干杯

试试这个(不确定这是不是一个好方法;)

之后

您需要将popover的顶部位置设置为选定的文本位置,而不是包含元素的文本的位置

您还需要通过活动

function popNow(evt) {...}

播放

哪个版本的BS?引导版本是v3.0.0。位置:'底部'不是罪魁祸首吗?我想问题出在<代码>$('body')。popover(Poporsettings)将popover设置到页面主体-@Satya我不确定您是否尝试过删除div:“[rel=“popover”]”,并将位置:'bottom'更改为placement:'right'是的,您是对的,但这不起作用,我也尝试了
div
,但仍然没有成功
$('body').popover(popOverSettings);
function popNow(evt) {...}