用jquery停止显示悬停的标题?

时间:2009-10-10 06:44:09

标签: jquery

我基本上将一些数据存储在某些div的title属性中,我可能不应该这样做。无论如何我现在已经完成了它,当我将鼠标悬停在这些元素上时,这些信息会在浏览器中弹出一个方便的默认工具提示。

e.g

<div title="blah blah blah">something</div>

是否有一种方法可以阻止此工具提示标题功能正常工作?

5 个答案:

答案 0 :(得分:8)

您可以将该数据从标题移动到另一个属性并从那里使用它。

$(document).ready(function() {
    $('[title]').each(function() {
      $(this).attr('data', $(this).attr('title'));
      $(this).removeAttr('title');
});

答案 1 :(得分:7)

您可以使用$().data()

存储信息,而不是使用HTML属性

答案 2 :(得分:4)

您可以从HTML元素中删除title属性并将其存储在其他位置。

jQuery提供了一种使用$().data()存储粘贴到HTML元素的信息的方法。

这应该有效:

$(document).ready(function()
{
    $('[title]').each(function()
    {
        var title = $(this).attr('title');
        $(this).data('title', title).removeAttr('title');
    });
});

您可以稍后使用$(this).data('title')

检索它

答案 3 :(得分:2)

Zed和Vincent是对的。

如果你想把它当作一个jquery函数(它在鼠标悬停时删除title属性,并在它离开时恢复它),以包含在多页脚本中:

    (function($) {
        $.fn.tooltipSuppress = function() {
            $(this).hover(
                function() {
                    $(this)
                        .data('title', $(this).attr('title'))
                        .removeAttr('title');
                }, 
                function() {
                    $(this).attr('title', $(this).data('title'));
                }
            );
        }
    })(jQuery);

然后只需将其调用到您想要应用的元素:

    $('div,someOtherSelector,ecc').tooltipSuppress();

答案 4 :(得分:1)

正如其他人所说,您应该将数据存储在除标题之外的其他字段中 要回答有关隐藏标题悬停的问题,请查看clueTip(或直接在js)。它取代了标准的工具提示与花哨的版本,如果它可以做到这一点我敢肯定它可以调整,而不是显示任何内容。