javascript - 单击外部时关闭 Bootstrap 弹出窗口

标签 javascript jquery twitter-bootstrap

已经提出了类似的问题,但不适用于本示例。

这里我们有弹出窗口的代码:

HTML:

<a href="#" class="popover_test">Popover Example</a>
<!-- POPOVER -->
<div id="content" class="hidden">
  Contents
</div>
<div id="title" class="hidden">
  Title
</div>

Javascript:

$(".popover_test").popover({
    html : true, 
    content: function() {
      return $("#content").html();
    },
    title: function() {
      return $("#title").html();
    }
});

当我点击弹出窗口外部时使其消失的方法是什么?

这里有一个JSFIDDLE来在线测试它: https://jsfiddle.net/C5GBU/1772/

$(".popover_test").popover({
    html : true, 
    content: function() {
      return $("#content").html();
    },
    title: function() {
      return $("#title").html();
    }
});
.hidden {
  display: none;
}
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.2/js/bootstrap.min.js"></script>
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" rel="stylesheet"/>

<a href="#" class="popover_test">Popover Example</a>
<!-- POPOVER -->
<div id="content" class="hidden">
  Contents
</div>
<div id="title" class="hidden">
  Title
</div>

谢谢。

最佳答案

检查以下代码 -

$('[data-toggle="popover"]').popover();

$('body').on('click', function (e) {
    if ($(e.target).data('toggle') !== 'popover'
        && $(e.target).parents('.popover.in').length === 0) { 
        $('[data-toggle="popover"]').popover('hide');
    }
 });

关于javascript - 单击外部时关闭 Bootstrap 弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37732702/

相关文章:

Javascript 不变性和本地数组

javascript - 如何审核 Facebook 评论

jquery - 使用使用伪元素而不是 DOM 中的元素的 CSS 或 jQuery 在 CSS 中启用电子邮件

jquery - 在表单数据验证期间防止 Telerik Radbutton 回发

javascript - 将Apollo-link-error中的Apollo React onError添加到链接const

javascript - JavaScript 流密码的实现?

javascript - jQuery 表单提交

ajax - 用于 twitter bootstrap 的带有 ajax spinner 的弹出窗口

javascript - 在加载时显示 Bootstrap 模态

java - Play 2.5 元素中损坏的 CSS 链接