Bootstrap popover无法在iPad上运行

时间:2013-03-18 00:07:18

标签: javascript jquery twitter-bootstrap

我有一个bootstrap popover工作:

  1. 点击
  2. 打开Popover
  3. 当你在popover外面点击时,Popover会关闭
  4. 如果JS被禁用,则Popover具有默认href
  5. 代码是:

    <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,bootstrap 2.1.1

4 个答案:

答案 0 :(得分:1)

尝试使用hover事件:

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

<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>

答案 1 :(得分: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');
    }
 });
});

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

您可以查看实时示例here

谢谢!

答案 2 :(得分:1)

刚遇到同样的问题。将data-trigger="focus"更改为data-trigger="click"有效。哈弗也有效。

答案 3 :(得分:0)

将data-trigger =“focus”更改为data-trigger =“click”几乎没问题,但问题是即使你点击它外面的popover仍然打开,只有当你点击它时你才能关闭它元素,发起了弹出...