javascript - 工具提示内的任何 HTML 标记都会导致基本工具提示在悬停时关闭

标签 javascript jquery tooltip mouseover fade

我是 jQuery 的新手,实际上是任何一种 AJAX/JavsScript 的新手(尽管对 PHP、xHTML 和 CSS 并不陌生)。无论如何,我正在尝试实现“类似工具提示”的效果,我可以将鼠标悬停在一个 div 上...新的 div 在其上方淡入,然后当我退出该 div 时,“工具提示”淡出。

所以这是我设法拼凑起来的基本 jQuery,在这里和那里阅读奇怪的指南:

$(function()
{
    $('#sn-not-logged-in').hover(function()
    {
        $('#sn-not-logged-in-hover').fadeIn('medium');
    });

    $('#sn-not-logged-in-hover').mouseout(function()
    {
        $('#sn-not-logged-in-hover').fadeOut('medium');
    });

});

问题是,如果我在悬停的 div 中放置“任何”html 标签,当您将其滑过它时,div 会淡出。

知道如何解决这个问题吗?

干杯。

最佳答案

更新评论

只需将您的事件切换到 mouseleave而不是 mouseoutmousenter而不是 hover将解决您的标记的问题,如下所示:

$(function() {
  $('#sn-not-logged-in').mouseenter(function() {
    $('#sn-not-logged-in-hover').fadeIn('medium');
  });
  $('#sn-not-logged-in-hover').mouseleave(function() {
    $('#sn-not-logged-in-hover').fadeOut('medium');
  });
});

上一个答案

更改您的 .hover() 向上一点,像这样:

$(function() {
  $('#sn-not-logged-in').hover(function() {
    $('#sn-not-logged-in-hover').fadeIn('medium');
  }, function() {
     $('#sn-not-logged-in-hover').fadeOut('medium');
  });
});

.hover() mouseenter 上执行和 mouseleave (分别是您提供的第一个和第二个函数),因此它调用了 fadeIn()已经有点重叠了。

mouseout然而,即使进入 child 也会触发,mouseenter哪个.hover()使用不会。那么目前实际导致您当前问题的原因是什么...将鼠标移到 <img> 上标签在里面,不会有问题:)

关于javascript - 工具提示内的任何 HTML 标记都会导致基本工具提示在悬停时关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2845819/

相关文章:

javascript - 在 JavaScript 中是否有一种简单的方法可以用空字符串替换 NaN?

javascript - onclick 不存储变量

javascript - 是否可以将文本文件加载到引导工具提示标题?

javascript - 将 onclick 控件发送到 javascript 函数

javascript jquery 淡入淡出

c# - 如何从我的 Word Addin 中删除工具提示(按 F1 键获取更多帮助)

winapi - GetRandomRgn 不排除工具提示

javascript - Angular $http $resource 相当于 PDF GET 请求

javascript - parsley.js 错误的数据类型

javascript setInterval 在 ie8 中很慢