单击时Bootstrap Popover Dismiss:在桌面浏览器中正常工作,但在移动浏览器

时间:2015-06-03 16:52:37

标签: javascript ios twitter-bootstrap popover

所以我有一个在nodeJS上运行的Web应用程序,并使用bootstrap作为前端。我已经集成了一些bootstrap popovers,他们执行以下操作:

  1. 当用户点击或点击图片时,它会弹出窗口。
  2. 用户可以点击任意位置,它将解除弹出窗口。
  3. 当我从台式机或笔记本电脑浏览器打开应用程序时,它们工作正常,但当我在移动浏览器上打开应用程序(使用计算机的IP地址)时(iPhone上的Safari),弹出窗口不会被忽略单击。这里的问题是什么?我错过了什么吗?这是代码:

    <img src='/images/question.png' tabindex="0" role="button" data-trigger="focus" height="10" width="10" data-toggle="popover" title="Daily Hub Activity" data-content="Lorem ipsum blablabla." animation="true" data-placement="bottom">
    

1 个答案:

答案 0 :(得分:1)

我认为iOS不会将点击事件绑定到htmlbody。尝试这样的事情(Close a Twitter Bootstrap Popover when Clicking Outside):

$('[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');
        }
    });
});

希望这有帮助。