Charts dc.js onClick侦听器不工作

Charts dc.js onClick侦听器不工作,charts,onclick,listener,bar-chart,dc.js,Charts,Onclick,Listener,Bar Chart,Dc.js,我无法让onClick侦听器与dc.barChart一起工作。根据,可点击图表现在应该有一个onClick监听器。但是,我尝试了chart.onClick=函数和chart.on(“单击”,函数),但没有成功。下面是我试图测试侦听器是否工作的代码 var hubChart = dc.barChart("#hub-chart"); var dateHub = dateCF.dimension(function(d){ return d.hub;}), dateHubs = dateHub

我无法让onClick侦听器与dc.barChart一起工作。根据,可点击图表现在应该有一个onClick监听器。但是,我尝试了chart.onClick=函数和chart.on(“单击”,函数),但没有成功。下面是我试图测试侦听器是否工作的代码

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);
  });
});

我打开了一个问题来跟踪问题/请求:

如果您不想替换该行为,可以使用事件名称空间添加单独的侦听器,如中所述。我得到的是
chart.renderlet已被弃用。请使用chart.on(“renderlet.”,renderletFunction)
,也-->这可以应用于
dc.js
?我已经更新了上面的语法。是的,这是dc.js代码。