我创建了一个函数来显示一个单独的div中的标题文本,它的wotks完美,但是有一个“title”属性的问题,所以我想在显示tooltipp后删除它。在鼠标上你显示它agaiin,但变量tooltipptext是空的...同一个想法?
var tooltipptext;
$(".infoimg").hover(function(event) {
tooltipptext = $(this).attr("title");
showToolTip(event, tooltipptext);
$(this).attr("title", "");
return false;
});
$(".infoimg").mouseout(function() {
$("#bubble_tooltip").hide();
$(this).attr("title", tooltipptext);
return false;
});
答案 0 :(得分:4)
.hover()
,当传递单个函数时,会在 {/ em> mouseenter
和 mouseleave
上运行它,因为这样:
tooltipptext = $(this).attr("title");
在$(this).attr("title", "");
已经运行后再次运行。而是将两个函数传递给.hover()
,如下所示:
var tooltipptext;
$(".infoimg").hover(function() {
tooltipptext = $(this).attr("title");
showToolTip(event, tooltipptext);
$(this).attr("title", "");
}, function() {
$("#bubble_tooltip").hide();
$(this).attr("title", tooltipptext);
});
或者,因为你永远不会在悬停时看到title属性,所以将它存储一次:
$(".infoimg").each(function() {
var title = $(this).attr("title");
$(this).data('title', title).attr('title','');
}).hover(function() {
showToolTip(event, $.data(this, 'title'));
}, function() {
$("#bubble_tooltip").hide();
});
这样可以处理任意数量的图像:)