2012-08-07 46 views
0

我试图在点击时使用引导弹出窗口。 我首先在我的js onReady开始时进行初始化。 然后我添加一个show选项,但它将它附加到错误的dom元素。 它应该放置在包装元素中。bootstrap弹出显示在错误的元素

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

然后,只需单击一个按钮即可调用此功能。

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

问题是弹出窗口不显示在包装div里面而是显示在body元素中。我怎样才能让它显示在包装元素内部。

回答

1

试试吧。我认为,选择属性需要一个字符串不是一个对象

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

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

选择

选择的价值类型为字符串,默认值为false。工具提示对象通过使用这个委托给给定的目标。

+0

谢谢wiry,但它仍然显示附加到身体,而不是包装元素。 – Chapsterj 2012-08-07 16:30:54

+0

你能够做一个小提琴并复制这个吗?或有链接到您的网站? – 2012-08-07 16:34:14

+0

我决定现在就建立我自己的更快。当我有更多时间时,我会重新审视这个问题。谢谢您的帮助。 – Chapsterj 2012-08-07 16:57:55

2

selector属性仅在插件触发时才用于委派事件。

首先,这个选择器will not be used如果你设置了trigger: 'manual'

然后,如果(举例来说)你有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)

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

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