2012-01-18 85 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