在触发鼠标悬停事件时访问Raphael元素的属性(attr)

时间:2012-03-03 20:18:34

标签: javascript raphael

当mouseover和mouseout事件触发时,我正在尝试访问和更新Raphael画布中某个元素的某些属性。

由于文档很少,我一直在努力解决这个问题。

以下代码失败,错误为 Object #<SVGCircleElement> has no method 'attr'

        $(circle.node).mouseover(function (e) {
            e.target.attr({ 'opacity': 0.2, 'fill': 'blue', 'stroke': 'white' });
        });

这里提供了(非)功能代码:http://jsfiddle.net/agarcian/mDnAb/3/

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

您需要使用$(e.target).attr(...),因为e.target是一个普通的DOM元素,而不是jQuery包装。

通过此更改,它可以正常工作:http://jsfiddle.net/ThiefMaster/mDnAb/4/

顺便说一下,您可以使用.hover()代替两个单独的活动:http://jsfiddle.net/ThiefMaster/mDnAb/5/