我正在使用popover来显示不需要标题的图像。如果您没有设置“标题”,它仍会显示标题所在的区域。你怎么完全关闭它?
跟进:我希望答复者能够保持他们的观点,但我在下面单独回答了我的最终实施。
答案 0 :(得分:40)
baptme的建议是可以的,但更好的方法是指定你的popover的标题并实际隐藏它,因为边距仍然存在,高度为0。
.popover-title { display: none; }
编辑:只是快速查看源代码,似乎有一个未记录的选项:
$.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
placement: 'right'
, content: ''
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
})
当您使用JS声明弹出窗口时,请尝试覆盖模板并指定隐藏的标题。
$('#example').popover({
template: '...<h3 class="popover-title" style="display: none"></h3>...'
});
我说不删除它的原因是,如果元素不存在,可能会导致运行时错误。请参阅Sherbrow的评论。
答案 1 :(得分:12)
在Bootstrap 2.3+中,标题会自动隐藏,如果为空。
http://blog.getbootstrap.com/2013/02/07/bootstrap-2-3-released/
答案 2 :(得分:5)
我结合了@Terry和@Sherbow提出的技术。显示图像,但不显示标题(仅适用于此弹出窗口)。
<a href="#" id="contributors" rel="popover">contributors</a>
...
<script>
var contributor_img = '<img src="my_img/contributor.png" />'
$(function ()
{ $('#contributors').popover({
content: contributor_img,
template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>' });
});
</script>
答案 3 :(得分:1)
简单的方法是在课程height:0px
上设置.popover-title
,不要使用data-original-title
<强> CSS:强>
.popover-title { height: 0px;}
答案 4 :(得分:0)
您还可以编写一个函数来删除元素:
function removeTitle(){
$('.popover-title').remove();
}
$("a[data-toggle=popover]")
.popover({
html: true,
animation: true
})
.click(function(e) {
removeTitle();
e.preventDefault()
})