24

我正在使用弹出框来显示不需要标题的图像。如果您不设置“标题”,它仍然会显示标题所在的区域。你如何完全关闭它?

4

5 回答 5

41

baptme 的建议没问题,但更好的方法是指定弹出框的标题并实际上完全隐藏它,因为边距仍然存在,高度为 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>...'
});

我说不要删除它的原因是如果元素不存在,它可能会导致运行时错误。 见舍布罗的评论。

于 2012-06-27T12:30:17.360 回答
11

在 Bootstrap 2.3+ 中,如果为空,标题会自动隐藏。

http://blog.getbootstrap.com/2013/02/07/bootstrap-2-3-released/

于 2013-04-16T14:19:13.023 回答
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>
于 2012-07-02T11:16:48.627 回答
1

简单的方法是height:0px在课堂上设置.popover-title而不使用data-original-title

CSS:

.popover-title { height: 0px;}
于 2012-06-27T12:22:47.477 回答
0

您还可以编写一个函数来删除元素:

function removeTitle(){
  $('.popover-title').remove();
}

$("a[data-toggle=popover]")
  .popover({
     html: true,
     animation: true
})
.click(function(e) {
  removeTitle();
  e.preventDefault()
})
于 2013-03-29T14:16:18.153 回答