2

我有一个引导弹出窗口工作,所以:

  1. 弹出框点击打开
  2. 在弹出框外部单击时弹出框关闭
  3. 如果 JS 被禁用,Popover 有默认的 href

代码是:

<a class="badge badge-popover"
    data-original-title="title here"
    data-trigger="focus"
    data-placement="right"
    data-content="<p>Content Here</p>" data-html="true"
    href="/help">?</a>

$('.badge-popover').click(function(e){
    e.preventDefault();
}).popover();

它在所有浏览器上都可以正常工作,但在 iPad 上却不行。任何想法为什么?我哪里错了?谢谢 :)

我正在使用 Jquery 1.9.1,引导程序 2.1.1

4

4 回答 4

1

尝试使用该hover事件:

这应该通过(触摸)触发桌面上的弹出框hover和移动/平板电脑上的弹出框。click

<a class="badge badge-popover"
   data-original-title="title here"
   data-placement="right"
   data-trigger="hover"
   data-content="<p>Content Here</p>" data-html="true"
   href="/help">?</a>
于 2013-03-21T12:10:51.593 回答
1

刚遇到同样的问题。换data-trigger="focus"工作data-trigger="click"。悬停也有效。

于 2015-03-10T23:01:17.350 回答
1

请参阅以下代码片段以使其正常工作:

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

$('body').on('click', function (e) {
$('[data-toggle="popover"]').each(function () {
    //the 'is' for buttons that trigger popups
    //the 'has' for icons within a button that triggers a popup
    if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {
        $(this).popover('hide');
    }
 });
});

这是检测主体点击并关闭页面上所有工具提示的最简单方法。

您可以在此处查看实时示例

谢谢!

于 2014-05-13T04:49:06.380 回答
0

将 data-trigger="focus" 更改为 data-trigger="click" 几乎可以正常工作,但问题是即使您在其外部单击弹出框仍保持打开状态,并且只有单击元素才能将其关闭,即启动了弹出窗口...

于 2015-12-11T10:07:37.827 回答