使用Raphael,我可以使用以下代码获取元素的DOM对象的引用:
element.node
Run Code Online (Sandbox Code Playgroud)
如何获取链接到DOM对象的元素?换句话说,上面函数的逆(例如DOMobject.element).
使用RaphaelJS创建的节点有一个raphaelid属性或非常接近的东西,您可以登录Chrome DevTools或类似的.
既然您知道这个特定的ID,并且您将Raphael Paper实例作为paper变量引用,那么您将获得以下元素:
paper.getById(node.raphaelid)
Run Code Online (Sandbox Code Playgroud)
实际上,这是完全无证的.RaphaelJS文档中仅记录了该getById方法(Paper.getById部分)
关于无法在DOM元素上获取raphaelid的评论的更新
请看看这个关于获得raphaelid的jsfiddle.
HTML
<div id="c"></div>
<div><code>rect.node.raphaelid</code> : <span id="i"></span></div>
<div><code>rect2.node.raphaelid</code> : <span id="i2"></span></div>
Run Code Online (Sandbox Code Playgroud)
JS
var paper = Raphael(c,400,400);
var rect = paper.rect(100,100,200,200);
var rect2 = paper.rect(150,150,200,200);
i.textContent = rect.node.raphaelid;
i2.textContent = rect2.node.raphaelid;
Run Code Online (Sandbox Code Playgroud)
文字结果
rect.node.raphaelid:0
rect2.node.raphaelid:1
这一切都与RaphaelJS的2.1.0版本有关