dc.js onClick侦听器不起作用 [英] dc.js onClick Listener Not Working

查看:110
本文介绍了dc.js onClick侦听器不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法让onClick侦听器与dc.barChart一起使用。根据此线程,可点击图表现在应具有onClick侦听器。但是,我尝试了chart.onClick = function和chart.on( click,function)都没有碰到运气。下面是我尝试测试侦听器是否正常工作的代码。

I'm having trouble getting an onClick listener to work with a dc.barChart. According to this thread, clickable charts should have an onClick listener now. However, I've tried both chart.onClick = function and chart.on("click", function) without any luck. Below is the code I've tried to test whether the listener is working or not.

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打印到控制台。 / p>

This should cause true to print out to the console whenever the chart is clicked, but nothing's happening.

推荐答案

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

It seems like onClick was only enabled for bar charts with an ordinal X axis. As long as you are willing to replace the built-in click behavior, you can accomplish the same thing using dc's access to d3 selectors, in a renderlet:

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

I opened an issue to track the question/request: https://github.com/dc-js/dc.js/issues/633

这篇关于dc.js onClick侦听器不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆