【问题标题】:Bootstrap tooltip don't hide on <a> tag click引导工具提示不会隐藏在 <a> 标签点击
【发布时间】:2019-12-03 16:11:22
【问题描述】:

我将触发器用作悬停,但是当我单击具有此功能的链接时,工具提示不会消失,它将永远在屏幕上打扰

使用此代码实例化工具提示

$('[data-toggle="tooltip"]').tooltip({
    container: 'body',
    trigger: 'hover'
});

在标签中一切正常,在某些情况下也可以正常工作,我不知道为什么会发生这种情况,有人能给我指点一下吗?

编辑:我也尝试使用此代码通过点击事件隐藏工具提示

$(document).ready(function(){
     $('[data-toggle="tooltip"]').click(function () {
         $('[data-toggle="tooltip"]').tooltip("hide");
     });
});

但它不起作用

编辑*:图片说明(文字为葡萄牙语)

编辑**:HTML 代码

<ul style="clear: both;" class="pager wizard">
    <li class="button-previous previous"><a title="Voltar" data-toggle="tooltip"><i class="fa fa-arrow-left"></i></a></li>
    <li class="voltar"><a title="Voltar" data-toggle="tooltip"><i class="fa fa-arrow-left"></i></a></li>

    <li class="finalizar"><a>Finalizar<i class="fa fa-check" style="padding-left:5px;"></i></a></li>
    <li class="next"><a class="competencia-stripe" data-toggle="tooltip" title="Continuar"><i class="fa fa-arrow-right" ></i></a></li>
</ul>

【问题讨论】:

  • 几个月前您似乎已经找到了解决方案的赏金是什么?
  • 我不知道,我想

标签: javascript jquery html bootstrap-4 tooltip


【解决方案1】:

此代码用于标记单击以隐藏悬停并从下面的代码中删除单击事件以悬停不隐藏。

试试这个代码...! 成功了。

$('[data-toggle="tooltip"]').tooltip({
    trigger : 'hover'
})
$('.btn-secondary').click(function(){
	$('[data-toggle="tooltip"]').tooltip('hide');
});
.tooltiphide {
  margin-top: 50px;
  margin-top: 50px;
}
<!DOCTYPE html>
<html>
<head>
	<title>Boostrap Tooltip</title>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</head>
<body>
  <div class="tooltiphide">
    <a href="#" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">
      Tooltip on top
    </a>
    <a href="#" class="btn btn-secondary" data-toggle="tooltip" data-placement="right" title="Tooltip on right">
      Tooltip on right
    </a>
    <a href="#" class="btn btn-secondary" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">
      Tooltip on bottom
    </a>
    <a href="#" class="btn btn-secondary" data-toggle="tooltip" data-placement="left" title="Tooltip on left">
      Tooltip on left
    </a>
  </div>
</body>
</html>

【讨论】:

    【解决方案2】:

    这是因为没有设置触发器。 trigger 的默认值为'hover focus',因此在单击按钮后工具提示保持可见,直到单击另一个按钮,因为该按钮已获得焦点。

    因此,您只需将触发器定义为“悬停”即可。在单击按钮后没有持久工具提示的情况下链接到的同一示例下方:

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

    小提琴中的文档示例 -> http://jsfiddle.net/vdzvvg6o/

    【讨论】:

      【解决方案3】:

      我试图在页面加载后立即隐藏所有工具提示并且它起作用了

      $([data-toggle="tooltip"]).on('load', function(){
               $('[data-toggle="tooltip"]').tooltip("hide");
      });
      

      但我认为这不是最好的解决方案,我寻求一个更好的解决方案,我想到的另一个解决方案是这个

      window.addEventListener("click", function (event) {
          $('.tooltip.fade.top.in').tooltip("hide");
      }
      

      【讨论】:

        【解决方案4】:

        &lt;a&gt; 标签定义了一个超链接,用于从一个页面链接到另一个页面。 所以它不适合像这样的一页动作。但是您可以通过 .focusout() 失去对元素的关注来解决此问题

        $(document).ready(function(){
           $('[data-toggle="tooltip"]').click(function(){
              $(this).focusout();
           });
        });
        
        

        【讨论】:

          猜你喜欢
          • 2021-05-30
          • 2013-06-20
          • 2016-05-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-06
          • 1970-01-01
          相关资源
          最近更新 更多