2

我尝试使用 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

有谁知道如何实现它?

4

1 回答 1

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' } );

您可以在我的网站上看到此代码的模拟。上下文菜单与我的 css 冲突存在一些问题,但您可以看到基本功能在那里。

于 2012-08-10T17:03:27.983 回答