首次单击后需要双击的Bootstrap工具提示

时间:2016-03-25 18:03:25

标签: javascript twitter-bootstrap tooltip

我遇到一个问题,工具提示在点击一次后需要双击。例如,我单击tooltip1,然后单击tooltip2,然后再次单击tooltip1。第二次单击tooltip1时,再次显示工具提示之前需要两次单击。

总体而言,我正在寻找的是一个包含4个工具提示的页面,当我单击链接并且一次只显示一个工具提示时将显示工具提示,因此如果显示一个工具提示,则其他3个被隐藏。

一个例子是https://jsfiddle.net/9656mv9w/

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

$(document).on('show.bs.tooltip', function() {
$('.tooltip').not(this).hide();
});

1 个答案:

答案 0 :(得分:1)

我有同样的问题。解决方法是检测应该关闭的show事件上的任何打开工具提示,然后触发单击以关闭它们。

//init bootstrap tooltips
$('[data-toggle="tooltip"]').tooltip({
  trigger:'click'
});

//listen for the show event on any triggered elements
$('[data-toggle="tooltip"]').on('show.bs.tooltip', function() {

 //get a reference to the current element that is showing the tooltip
  var triggeredElement = $(this);

  //loop through all tooltips elements
  $('[data-toggle="tooltip"]').each(function(){

    //if they are not the currently triggered element and have a tooltip, 
    //trigger a click to close them
    if($(this) !== triggeredElement && $(this).next().hasClass('tooltip')) {
      $(this).click();
    }
  })
});