在D3中,我正在定制并添加到@ Rengel的时间轴(JS Fiddle中显示的链接。
我已成功创建了基于曲目的类似时间轴,并且还允许用户根据复选框值过滤项目数据。现在每个数据都有一个工具提示,并且在同一个svg容器中的项目下面填充了另一个数据集中的字母。现在最后我想添加一个像这样的画笔 - 来自街区网站的wrobstory。
我最近刚刚开始研究刷子事件所以我非常喜欢菜鸟,这就是为什么我不确定我是怎么回事。我在https://jsfiddle.net/rootseire/2vq8028o/2/创建了一个JS Fiddle,它显示了在调用画笔之前所有工作。当我选择时间轴的一部分时,会出现画笔,它会计算索引和范围。但它改变了年份的y状态,然后年份文本在页面上转换。
我一直试图了解为什么会发生这种情况,但我认为我需要退出代码,因为它可能只是因为我没有引用正确的元素。以下是鼠标指针拖过界面时的代码:
vis.on('mousedown', function(){
brush_elm = vis.select(".brush").node();
new_click_event = new Event('mousedown');
new_click_event.pageX = d3.event.pageX;
new_click_event.clientX = d3.event.clientX;
new_click_event.pageY = d3.event.pageY;
new_click_event.clientY = d3.event.clientY;
brush_elm.dispatchEvent(new_click_event);
});
但我认为它可能与.points选择器有关。如何使画笔以x轴,项目矩形和字母为目标?
提前致谢, P