Twitter Bootstrap Popover / Tooltip Bug with Mobile?

前端之家收集整理的这篇文章主要介绍了Twitter Bootstrap Popover / Tooltip Bug with Mobile?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Twitter Bootstrap,并在iPad和iPhone上进行测试时遇到了一些我无法解决的问题.在移动设备(至少是那些设备)上,您需要点击以接触提示或弹出窗口(如预期).问题是,一旦你做,永远不会关闭它.我添加了一个监听器关闭它,如果你再次点击它,但我发现很难相信默认的行为不会是单击去除它.这是Bootstrap popover和工具提示中的错误?我的代码在下面 – 它似乎工作,但只有当您点击创建提示或popover相同的项目 – 不在页面上的任何地方(无法使它工作).

防火码

$(function () {
    //Remove the title bar (adjust the template)
    $(".Example").popover({ 
        offset: 10,animate: false,html: true,placement: 'top',template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>'
        //<h3 class="popover-title"></h3>
        //Need to have this click check since the tooltip will not close on mobile
        }).click(function(e) {
            jQuery(document).one("click",function() {
                $('.Example').popover('hide')
        });   
    });
});

HTML:

<a href="javascript:void(0);" class="Example" rel="popover" data-content="This is the Data Content" data-original-title="This is the title (hidden in this example)">

提前致谢!

丹尼斯

解决方法

我尝试了几十个解决方案发布到stackoverflow和网络的其他各个角落,以下是唯一一个为我工作的!

说明

如07/08所示,您可以通过CSS指令元素来使其触摸设备可点击.我不能告诉你为什么这样工作或发生了什么,但似乎是这样.所以,我想使整个文件也可以在移动设备上单击,这将允许我触摸任何地方关闭popover.

Popover JS

$(function () {
  $('[data-toggle="popover"]').popover({ trigger: "hover"}})
});

路线

1.安装Modernizr

我使用的是轨道,所以我用了gem.

gem 'modernizr-rails'

2.使用css-directive创建一个触摸类

将以下内容添加到您的CSS中:

.touch {
  cursor: pointer
}

3.仅在触摸设备上,将触摸类添加到正文

如果你想要其他元素可点击,而不是整个身体,添加触摸类他们.

if (Modernizr.touch) {
  $( "body" ).addClass( "touch" );
}

而已!现在,您可以在桌面上正常使用您的弹出窗口(即使使用悬停触发),并且在移动设备上将触摸不起.

猜你在找的Bootstrap相关文章