Jquery Qtip 的奇怪问题,第一次鼠标悬停后工具提示无法正常工作

发布于 2024-12-19 01:42:03 字数 318 浏览 0 评论 0原文

谁能告诉我我的代码有什么问题吗?第一次鼠标悬停时,qtip 工作正常,但第二次它显示 2 个工具提示,一个是我在标题属性中拥有的内容,另一个是在那个空的顶部。

$(document).ready(function() {
  $(".tooltip").bind('mouseover', function() {  
    $(this).qtip({
      overwrite: false,                 
      show: {
         ready: true
      }
    });  
  });   
});

Can anyone tell me whats wrong with my code? The qtip works ok on mouseover the first time, but the second time it shows 2 tooltips, one with what ever I have in the title attribute and another one on top of that one that's empty.

$(document).ready(function() {
  $(".tooltip").bind('mouseover', function() {  
    $(this).qtip({
      overwrite: false,                 
      show: {
         ready: true
      }
    });  
  });   
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

救赎№ 2024-12-26 01:42:03

尝试将 overwrite 设置为 true

确定是否在具有 a 的元素上调用 .qtip() 方法
qTip 已经存在,新的会覆盖(即销毁)旧的
一。默认情况下这是正确的。

即,如果设置为 false,则每次鼠标悬停时都会创建一个新的 qtip。

Try setting overwrite to true

Determines if, when the .qtip() method is called on an element with a
qTip already present, the new one overrides (i.e. destroys) the old
one. By default this is true.

ie if set to false, a new qtip is created each mouseover.

等往事风中吹 2024-12-26 01:42:03

您不必绑定鼠标悬停。 qtip 就是这样做的。

$(document).ready(function () {
  $('.tooltip').qtip({
    overwrite: true,                 
    show: {
      ready: true
    }
  });
});

编辑:
你没有告诉任何关于ajax的事情。所以这应该有效(jsFiddle case);

$(document).ready(function() {
  $(".tooltip").bind('mouseover', function() {  
    var $this = $(this);
    if($this.data('qtip') == null) {
      $this.qtip({
        overwrite: true,                 
        show: {
          ready: true
        }
      });  
    }
  });
});

You don't have to bind mouseover. qtip does that.

$(document).ready(function () {
  $('.tooltip').qtip({
    overwrite: true,                 
    show: {
      ready: true
    }
  });
});

EDIT:
You didn't tell anything about ajax. So this should work(jsFiddle case);

$(document).ready(function() {
  $(".tooltip").bind('mouseover', function() {  
    var $this = $(this);
    if($this.data('qtip') == null) {
      $this.qtip({
        overwrite: true,                 
        show: {
          ready: true
        }
      });  
    }
  });
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文