我使用Raphael JS创建一个带有区域和文本标签的SVG地图。当你将鼠标移到它上面时,我希望该区域突出显示。
我现在有这个工作,但是当我将鼠标移到标签上(在区域的中心)时,该区域的mouseout-event被触发,因此该区域再次不被突出显示。
有什么方法可以防止这种情况发生,或者解决方法?
答案 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();
});