使用 Raphael,我可以使用以下代码获取对元素的 DOM 对象的引用:
element.node
如何获取链接到 DOM 对象的元素?换句话说,与上面的函数相反(例如 DOMobject.element)。
使用 Raphael,我可以使用以下代码获取对元素的 DOM 对象的引用:
element.node
如何获取链接到 DOM 对象的元素?换句话说,与上面的函数相反(例如 DOMobject.element)。
使用 RaphaelJS 创建的节点具有raphaelid
属性或非常接近的属性,您可以登录 Chrome DevTools 或类似工具。
因为你知道这个特定的 ID,并且你有一个 RaphaelPaper
实例的引用作为paper
变量,你得到的元素是:
paper.getById(node.raphaelid)
实际上,这是非常无证的。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>
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;
文本结果
rect.node.raphaelid:0
rect2.node.raphaelid:1
所有这一切都与 RaphaelJS 2.1.0 版本有关