javascript - Bootstrap 工具提示在第二次鼠标悬停时立即显示

标签 javascript jquery html css twitter-bootstrap

我有一个带有标题的 html 元素 title ="This is a tooltip" 和我的类(class) class="tooltips"

在我的 script.js 中有以下代码(仅用于演示我的问题):

var timeout;
$('.tooltips').mouseenter(function(){
  var that = $(this);
  if(timeout){
     clearTimeout(timeout); 
   }
  timeout = setTimeout(function(){
    that.tooltip('show');
    setTimeout(function(){
      that.tooltip('hide');
    }, 1000);
  }, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet"> 
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<br />
<br />
<a href="#" title="I am a tooltip" class="tooltips">Hover me</a>

它应该做什么: 如果我用我的指针输入元素,它应该什么也不会发生。延迟一秒后,工具提示应出现,再过一秒,工具提示应消失。

实际发生了什么: 第一次它按预期工作,但如果我第二次悬停该元素,工具提示会立即出现并在延迟两秒后消失。似乎第一个 tooltip('show') 启用了在鼠标悬停时显示的工具提示。

我怎样才能让它发挥作用?

最佳答案

我有解决这个问题的办法。 好像是这样

.tooltip('show') 

正在为此元素启用工具提示,因此任何后续悬停都会显示工具提示。

var timeout;
$('.tooltips').mouseenter(function(){
  var that = $(this);
  if(timeout){
     clearTimeout(timeout); 
   }
  timeout = setTimeout(function(){
    that.tooltip('enable');
    that.tooltip('show');
    setTimeout(function(){
      that.tooltip('disable');
    }, 1000);
  }, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet"> 
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<br />
<br />
<a href="#" title="I am a tooltip" class="tooltips">Hover me</a>

应该可以解决问题

关于javascript - Bootstrap 工具提示在第二次鼠标悬停时立即显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38828669/

相关文章:

javascript - 中心推特嵌入 iframe

jquery - 运行 'ng test'命令时找不到JQuery

javascript - 从 div 的底部计算底部

css - 带空格的 chrome 中的 Flexbox 布局问题

javascript - 如何通过给定的URL获取YouTube音频数据

javascript - 通过 javascript 调用更改 onclick 函数时无法发送动态 javascript 参数

javascript - Html 输入类型 ="number"返回空字符串作为值

结合返回嵌套函数的 JavaScript 函数声明或表达式

jquery - 切换类并从所有其他元素中删除类

jquery - 重叠切换问题