3

使用 Raphael,我可以使用以下代码获取对元素的 DOM 对象的引用:

 element.node

如何获取链接到 DOM 对象的元素?换句话说,与上面的函数相反(例如 DOMobject.element)。

4

1 回答 1

5

使用 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 版本有关

于 2013-04-16T22:31:29.330 回答