使用强制布局时,无需d3信息即可获取绑定数据

时间:2015-08-05 19:23:53

标签: d3.js

我有以下代码来处理双击......

var onClick = function (e) {
    if ((d3.event.timeStamp - last) < 500) {
        return callback(e);
    }
    last = d3.event.timeStamp;
}; 

但是这会回来......

{
  "uuid":"e2befb22-849b-4b56-91b4-8c297311491b",
  "title":"JRG-024",
  "weight":3,
  "x":-4120.238083042915,
  "y":2759.9261895569307,
  "px":-4102.444457966419,
  "py":2753.0045790866943
}

注意x,y,px,py, etc我想避免这些并获取最初绑定的干净数据。我也试过return callback(d3.select(this).data()[0]),但这仍然会返回位置数据。有没有办法从响应中删除这些数据,而不是过滤?

2 个答案:

答案 0 :(得分:0)

以下是基于我的评论

的示例
d3.select('body')
    .selectAll('.data')
    .data([10,20,30])
  .enter()
    .append('div')
    .attr('class', 'data');

var node = d3.select('.data').node();

console.log(node.__data__);

控制台输出为10

答案 1 :(得分:0)

我最终只是把所有东西放在一个属性中并像这样传递它。类似的东西...

var d3Data = data.map(function(item){
  var result = {
    ...
    originalData : item
  }
  return result
})

不接受,因为这是hacky hacky hacky。