作为d3和js的新手,或者只是前端,我花了足够的时间基本了解Cal-heatmap的工作原理。我有一个工作版本,但真的想在日历超链接上创建小盒子以获得额外的功能,阅读源代码对我来说是一个完全的灾难。我想我应该按照建议的here将.attr("xlink:href", url)
添加到某个对象,但我真的无法弄清楚在哪里。有没有人做过类似的事情?另外,我也不太了解在初始化传递给源代码时我指定的属性。任何帮助表示赞赏!
答案 0 :(得分:0)
这需要一点点hackery。
热图后,您可以:
d3.selectAll('.graph-rect')
.each(function(d){
var a = d3.select( this.parentNode ) // get the parent of the rect (it's a g)
.append("a") // append the link
.attr("xlink:href","http://www.google.com")
.attr("target", "_blank"); // set its link
var rect = this;
rect.remove(); // remove the rect
a.insert(function(){return rect}); // and re-add it to the link
});
工作example。