bootstrap popover显示错误的元素

时间:2012-08-07 16:07:57

标签: jquery twitter-bootstrap

我正试图在点击时使用bootstrap popover。 我首先在我的js onReady开始时初衷。 然后我添加一个show选项,但它将它附加到错误的dom元素。 它应该放在包装元素中。

var wrapper = $(".modal .modal-wrapper");
wrapper.popover({trigger:'manual', title:"WORKING TOOLTIP", selector:wrapper});

然后只需点击一下按钮就可以调用它。

var showTooltip = function( ){
    wrapper.popover('show');
}

问题是popover没有在包装器div中显示它在body元素中的显示。如何让它在包装元素中显示。

2 个答案:

答案 0 :(得分:2)

selector属性仅用于由插件触发的委托事件。

首先,如果您设置trigger: 'manual',则此选择器 will not be used

然后,如果(例如)你有trigger: 'hover'并且有那个标记:

<div class="megadiv">
    <button class="btn">Hover me</button>
</div>

以下javascript会绑定一个弹出窗口,以显示在任何悬停.btn

$('.megadiv').popover({
    selector: '.btn',
    content: 'content',
    title: 'title'    
});

Live demo (jsfiddle)

这仅适用于.megadiv的子元素。请参阅jQuery.on doc

  

当事件直接发生在绑定元素上时,不会调用处理程序,但仅适用于与选择器匹配的后代(内部元素)。

答案 1 :(得分:1)

试试这样。我认为selector属性采用字符串而不是对象

wrapper.popover({trigger:'manual', title:"WORKING TOOLTIP", selector: ".modal .modal-wrapper" });

来自http://www.w3resource.com/twitter-bootstrap/popover-tutorial.php

  

选择

     

选择器的值类型为字符串,默认值为false。使用此工具提示对象被委托给给定目标。