0

我正在尝试单击使用引导弹出窗口。我首先在我的 js onReady 开始时初始化。然后我添加了一个 show 选项,但它把它附加到了错误的 dom 元素上。它应该将它放在包装器元素中。

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

然后通过单击按钮调用它。

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

问题是弹出框没有显示在包装器 div 中,而是显示在 body 元素中。我怎样才能让它显示在包装元素内。

4

2 回答 2

2

如果由插件触发,该selector属性仅用于委托事件。

首先,如果你设置了这个选择器将不会被使用trigger: 'manual'

然后,如果(例如)您拥有trigger: 'hover'并且拥有该标记:

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

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

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

现场演示(jsfiddle)

这仅适用于.megadiv. 请参阅jQuery.on文档

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

于 2012-08-07T17:09:38.783 回答
1

像这样试试。我认为选择器属性接受一个字符串而不是一个对象

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

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

选择器

选择器值的类型为字符串,默认值为 false。使用 this 将 Tooltip 对象委托给给定的目标。

于 2012-08-07T16:20:59.320 回答