【发布时间】:2015-06-23 21:50:32
【问题描述】:
我很难使用新的引导弹出框。我认为这可能是一个错误,但我不完全确定。
这是我的例子。 http://jsbin.com/vohariwuja/edit?html,js,output
基本上,我正在尝试使用弹出框在表单中显示错误消息。当我尝试将弹出框添加到 不在屏幕上 的元素时,弹出框无法正确对齐。奇怪的是,它只发生在我使用 right 或 left 放置时。如果我将弹出框的位置设置为顶部、底部或自动,那么它就可以正常工作(示例中对此进行了说明)。
目标 这个例子展示了我正在尝试做的事情。 http://jsfiddle.net/1ejmvg1v/ 它使用的是 3.1.1 版本。向下滚动,单击“测试”按钮,向上滚动,弹出框已正确放置。
HTML
<div class="form-group col-xs-4 ErrorDiv has-feedback " style="margin: 0px; padding: 0px;" rel="popover">
<input class="form-control" name="Input1" id="Input1" value="" type="text">
</div>
<div class="form-group col-xs-4 ErrorDiv has-feedback " style="margin: 0px; padding: 0px;" rel="popover">
<input class="form-control" name="Input2" id="Input2" value="" type="text">
</div>
Javascript
var PopoverOptions = {
html: true ,
placement: 'right',
/* This one works
placement: 'bottom',
*/
template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content ErrorContentDiv"></div></div>',
title: '<button class="close" type="button"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>',
trigger: 'manual',
content: function()
{
var _element = $(this);
if( (_element.attr('data-error-message') !== undefined) && (_element.attr('data-error-message') !== null) && ($.trim(_element.attr('data-error-message')).length > 0 ) )
{
return _element.attr('data-error-message');
}
else
return "";
}
};
$.each($('.ErrorDiv'),function(){
$(this).attr('data-error-message','This is a error message')
.popover(PopoverOptions)
.popover('show');
});
【问题讨论】:
标签: jquery html twitter-bootstrap twitter-bootstrap-3