Sac*_*lla 5 javascript svg d3.js
我有一个svg组,我称之为拖动功能.
var container=d3.select("#id");
container.call(dragcontainer);
var dragcontainer = d3.drag()
.on("start", function () {})
.on("drag", function (d, i) {
//(d3.select(this)).select("rect");
})
.on("end", function () {});
Run Code Online (Sandbox Code Playgroud)
显然,d3.select(this)不返回container,但它们是相似的(通过属性检查),但不完全相同.
为什么会这样?如何container在被调用的函数内访问?
有些重复的评论,但原因是d3.select返回d3选择.即使您选择相同的DOM节点,每个选择都是不同的对象.以下显示了不同之处:
var container = d3.select("body").node();
var sel1 = d3.select(container);
var sel2 = d3.select(container);
console.log(sel1 === sel2); // false
console.log(sel1.node() === sel2.node()); // true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5643 次 |
| 最近记录: |