我有工具提示的这个功能:
//Tooltips
(function($) {
$.fn.tooltips = function(html) {
var $tooltip,
$html;
return this.each(function(data, html) {
$html = $(html).attr("data-tooltip", data);
var $tooltip = $('<div class="tooltip" data-tooltip="' + data + '">' + $html.attr('title') + '</div>').appendTo(".tip");
$html.removeAttr("title").hover(function() {
$html = $(this);
$tooltip = $('div[data-tooltip=' + $html.data('tooltip') + ']');
$tooltip.addClass("active");
}, function() {
$html = $(this);
$tooltip = $('div[data-tooltip=' + $html.data('tooltip') + ']');
setTimeout(function() {
$tooltip.removeClass("active");
}, 100);
});
});
}
})(jQuery);
$(function() {
$("a.tip[title]").tooltips();
});
我有一个PHP循环:
echo '<span class="author-meta"><a class="author tip" id="'. $username .'" href="#" title="[Removed]">'. $username .'</a></span><br>';
目前,当您将鼠标悬停在一个名称上时,所有名称标签上都会显示所有标题标签。 如果将鼠标悬停在一个名称上,是否有一种简单的方法可以使用 - 只有该名称具有悬停事件?
代码来自免费的教程网站,我似乎无法找到,但我不记得评论部分提到的这个特殊问题,所以我不知所措! / p>
答案 0 :(得分:1)
代码中的错误在:
.appendTo(".tip")
即将工具提示附加到class =“tip”的所有元素。您应该只附加到当前元素。第8行的代码应为:
var $tooltip = $('<div class="tooltip" data-tooltip="' + data + '">' + $html.attr('title') + '</div>').appendTo(this);