在Bootstrap popover中锚定不能在IE 8上运行

时间:2014-09-17 08:12:12

标签: jquery html twitter-bootstrap popover

目标

在IE 8

中使用Bootstrap popover中的锚链接

问题

当在弹出窗口中单击这些链接时,Internet Explorer 8似乎什么都不做。

我测试的其他浏览器(最新的Chrome,最新的Firefox)工作正常。

将鼠标悬停在链接上确实会更改“状态”工具栏...

Imagine showing IE 8 status bar reacting to a link

使用第三方插件

  • jQuery 1.11.1
  • Bootstrap 3.2.0 JS
  • Bootstrap 3.2.0 CSS

代码(不要使用新的代码段,因为它会阻止链接正常工作)

<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
</head>
<body>

    <p>Hello, <a href="#" class="pop" tabindex="0" data-title="<b>Search Engines</b>" data-content='&#149; <a href="http://google.co.uk" target="_NEW">Google</a><br>&#149; <a href="http://bing.co.uk" target="_NEW">Bing</a><br>&#149; <a href="http://yahoo.co.uk" target="_NEW">Yahoo</a>'>visit &amp; search here</a></p>

    <script>
        var options = {
            placement: "bottom",
            html: true,
            trigger: "focus",
            toggle: "popover"
        };

        $(".pop").popover(options).click(function(e) {
            e.preventDefault();
        });
    </script>

</body>
</html>

1 个答案:

答案 0 :(得分:2)

我将触发器从focus更改为click,问题已在IE 8上解决,并继续在其他经过测试的浏览器上运行。

更改此项会导致自动隐藏停止工作,因此我修改了js功能...

$(".poper").popover(options).click(function(e){
    e.preventDefault();
    $('.poper').not(this).popover('hide'); // here is the new bit
});