2012-01-18 103 views
2

我有以下使用标题属性字符串的工具提示JQuery代码。我的问题是,浏览器工具提示也出现了,我无法弄清楚如何解决这个问题。JQuery标题属性工具提示 - 删除浏览器工具提示

function Tooltip() { 
    Form.append('<div class="Tooltip"></div>'); 
    $('input, textarea, select, p, label').mousemove(function(e) { 
     var HoverText = $(this).attr('title'); 
     var Tooltip = $('.Tooltip'); 
     if(HoverText){ 
     Tooltip.html(HoverText).fadeIn(100); 
     Tooltip.css('left', e.clientX + 15).css('top', e.clientY + 15); 
     } 
    }).mouseout(function() { 
     var Tooltip = $('.Tooltip'); 
     Tooltip.fadeOut(100); 
    }); 
} 

谢谢!

UPDATE:

现在title属性被删除,该值存储在$。数据。不幸的是,鼠标移动功能无法正常工作这样...

function Tooltip() { 
    Form.append('<div class="Tooltip"></div>'); 
    $('input, textarea, select, p, label').mousemove(function(e) { 
     $(this).data('title', $(this).attr('title')).removeAttr('title'); 
     var HoverText = $(this).data('title'); 
     var Tooltip = $('.Tooltip'); 
     if(HoverText){ 
     Tooltip.html(HoverText).fadeIn(100); 
     Tooltip.css('left', e.clientX + 15).css('top', e.clientY + 15); 
     } 
    }).mouseout(function() { 
     var Tooltip = $('.Tooltip'); 
     Tooltip.fadeOut(100); 
     $(this).attr('title', $(this).data('title')); 
    }); 
} 
+0

防止默认浏览器标题弹出的唯一方法是删除title属性。 – 2012-01-18 23:09:13

回答

2
var title = $(this).data('title'); 
var titleAttr = $(this).attr('title'); 
if(titleAttr && !title){ 
    title = $(this).data('title', $(this).attr('title')).removeAttr('title'); 
} 
+0

嗨,我更新了我的帖子。问题是mousemove函数不能以这种方式工作。 – user1002039 2012-01-18 23:27:13

+0

然后不要尝试重复触发它 – Sinetheta 2012-01-18 23:56:00

相关问题