我正在使用Raphaël绘制图形(网络),因为节点被表示并显示为圆圈。用户可以通过点击画布来动态添加节点,然后将新构建的Element
对象推入一个Set
,也推入一个模型对象,其中存储了一些关于刚刚创建的节点的宝贵数据。
当用户将鼠标指针移到节点上时,我想在每个节点附近显示模型中提到的数据。我希望避免的是在创建时在每个节点上创建一个新事件。我想将事件委托给画布,以便为每个节点提供一个全局处理程序。
我已经创建了这样的处理程序并将事件附加到它:
var Paper = Raphael('Graph',600,600),
$Canvas = $(Paper.canvas),
onMouseOver = function(e){
// Wish to have an Element object
}
$Canvas.on('mouseover','circle',onMouseOver);
该事件和处理程序工作正常,因为它只在圆圈上触发。
我怎样才能检索或将它作为一个Element
对象,并访问它.data()
和每个关联?我必须在我的 中搜索它Set
吗?如果是这样,怎么做?