gpt4 book ai didi

charts - dc.js onClick 监听器不工作

转载 作者:行者123 更新时间:2023-12-02 04:29:03 24 4
gpt4 key购买 nike

我无法让 onClick 监听器与 dc.barChart 一起使用。根据this thread ,可点击图表现在应该有一个 onClick 监听器。但是,我尝试了 Chart.onClick = function 和 Chart.on("click", function) 但没有任何运气。下面是我尝试测试监听器是否正常工作的代码。

var hubChart = dc.barChart("#hub-chart");

var dateHub = dateCF.dimension(function(d){ return d.hub;}),
dateHubs = dateHub.group().reduceSum(function(d){
return d.total;
});

var minHub = dateHub.bottom(1)[0].hub;
var maxHub = dateHub.top(1)[0].hub;

hubChart.width(0.40 * window.innerWidth)
.height(350)
.dimension(dateHub)
.group(dateHubs)
.x(d3.scale.linear().domain([minHub, maxHub]))
.elasticY(true)
.elasticX(true)
.brushOn(false);

hubChart.on("preRedraw", function (chart) {
chart.rescale();
});
hubChart.on("preRender", function (chart) {
chart.rescale();
});

hubChart.onClick = function(chart){
console.log(true);
}

hubChart.on("click", function (chart) {
console.log(true);
});

hubChart.render();

每当单击图表时,这应该会导致 true 打印到控制台,但什么也没有发生。

最佳答案

似乎 onClick 仅适用于具有序数 X 轴的条形图。只要您愿意替换内置的点击行为,您就可以在 renderlet 中使用 dc 对 d3 选择器的访问来完成同样的事情:

chart.on("renderlet.somename", function(chart) {
chart.selectAll('rect').on("click", function(d) {
console.log("click!", d);
});
});

我打开了一个问题来跟踪问题/请求:https://github.com/dc-js/dc.js/issues/633

关于charts - dc.js onClick 监听器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24642675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com