Raphael JS:mouseover / mouseout - 文本标签问题

时间:2011-06-15 18:59:29

标签: label mouseover raphael mouseout

我使用Raphael JS创建一个带有区域和文本标签的SVG地图。当你将鼠标移到它上面时,我希望该区域突出显示。

我现在有这个工作,但是当我将鼠标移到标签上(在区域的中心)时,该区域的mouseout-event被触发,因此该区域再次不被突出显示。

有什么方法可以防止这种情况发生,或者解决方法?

2 个答案:

答案 0 :(得分:5)

在文本上创建一个opacity设置为0的rect,并在该rect上附加事件处理程序。您可以使用文本的getBBox()来计算矩形的尺寸。

答案 1 :(得分:2)

通过Paper#set创建一个集合对我有用。 e.g:

var st = paper.set();

st.push.apply(st, vectors);  // `vectors`: my array of "hoverable" vectors
st.push(text);               // `text`:    my text vector for `vectors`

st.hover(function () {
    text.show();
}, function () {
    text.hide();
});