我有以下用于工具提示的JQuery代码,它使用title属性字符串。我的问题是浏览器工具提示也出现了,我无法弄清楚如何解决这个问题。
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);
});
}
谢谢!
更新
现在删除了title属性,该值存储在$ .data中。不幸的是,mousemove功能不能这样工作......
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 :(得分:2)
var title = $(this).data('title');
var titleAttr = $(this).attr('title');
if( titleAttr && !title){
title = $(this).data('title', $(this).attr('title')).removeAttr('title');
}