Raphael JS:如何从Dom对象(Element.node)中获取Raphael元素?

时间:2012-08-09 15:12:18

标签: javascript raphael jquery-svg

我尝试使用Raphael的节点函数来获取DOM对象并为上下文菜单添加一个事件处理程序。 但是我需要从DOM对象的事件处理程序中获取Raphael元素吗?

为清楚起见,示例代码应该是

var circle = paper.circle(100, 100, 100);
var domObject = circle.node;
var ele = domObject.get(0).raphael; // It's required in the domObject's event handler

有谁知道如何实现它?

1 个答案:

答案 0 :(得分:0)

直接完成这项工作所需的额外工作很少。假设你有你的jquery contextMenu资源(js,css,任何图片)和Raphael论文paper

var x = 200, y = 200, r = 100, fs = 36;
var circle = paper.circle( x, y, r ).attr( { fill: 'red', 'fill-opacity': 0.5 } );
var label = paper.text( x, y, "CLICK" ).attr( { fill: 'white', 'fill-opacity': 0.75, 'font-size': fs, 'font-weight': 800 } );
var set = paper.set( circle, label );
$(set.node).contextMenu( { menu: 'myMenu' } );

您可以看到此代码mocked up at my website。上下文菜单与我的css冲突有一些问题,但您可以看到基本功能。