Derzeit habe ich eine Arena-Karte mit Raphael erstellt, jedes svg-Element auf der Karte hat einen Tooltip, wenn mit dem Mauszeiger darüber gefahren wird. Der Tooltip wird nicht beim ersten Hovern eines svg-Elements angezeigt, aber er wird angezeigt, wenn der Benutzer das svg-Element erneut betritt.
Ich nehme an, es hat etwas mit meiner Funktion addTip "mouseeneter" zu tun, aber ich bin noch neu im Verständnis von JS, so dass ich nicht sicher bin. Hier ist der Code, den ich für das Hinzufügen der QuickInfo zum svg-Element bei Hover verwende, der Code, den ich verwende, basiert auf diesem Stackoverflow-Forum Frage und das jsfiddle, das ich erstellt habe Link
var tip = $("#tip").hide();
var tipText = "Tip the Canoe.";
var over = false;
function addTip(node, txt)
{
$(node).mouseenter(function(){
tipText = txt;
tip.fadeIn();
over = true;
})
.mouseleave(function(){
tip.fadeOut();
over = false;
});
}
for (var i = 0, len = rsrGroups.length; i < len; i++) {
var el = rsrGroups[i];
el.mouseover(function() {
addTip(this.node, tipText);
console.log(node);
this.toFront();
this.attr({
cursor: 'pointer',
fill: '#990000',
});
//alert('test');
});
el.mousemove(function(e){
if (over){
tip.css("left", e.clientX+20).css("top", e.clientY+20);
tip.text(tipText);
}
});
el.mouseout(function() {
this.attr({
fill: '#003366'
});
});
el.click(function() {
this.attr({
fill: 'green'
});
});
}