当我尝试在用户点击dc.js图表时添加加载gif时,会出现一个加载gif,说明该信息中心正在加载或过滤。完成过滤后,加载gif将消失。我在仪表板中有多个图表。我认为将.on('过滤的',函数(图表,过滤器){...})说明到每个图表是很乏味的。是否有方法或API可以在过滤任何图表时启动事件?
尝试使用它,但它不支持.on(...)函数
dc.on('过滤',功能(...){...});
UPDATE! 我不确定我是否正确地这样做了。就像我上面看到的那样,当用户点击行图(dc.js)时,我试图添加一个功能,加载的gif会出现,并在图表完成重绘或过滤后消失。我通过onclick应用代码,因此DIV(加载gif)将出现在onclick上,然后过滤图表。
chart.on("renderlet", function(chart) {
chart.selectAll('rect')
.on('click', function(d) {
$('#please-wait').css("display","block");
console.log("click!", d);
var filter = chart.keyAccessor()(d);
dc.events.trigger(function () {
chart.filter(filter);
chart.redrawGroup();
$('#please-wait').css("display","none");
});
});
});
尽管如此,它还是有效的。如同,如果我删除display:none行代码,将出现请等待。如果我应用display:none行代码,则没有任何反应,因为(我假设)页面在请求等待div实际出现在首页之前快速触发过滤器事件。有没有办法启动dc.events.trigger ..请等待Div实际出现在首页?我这样做是正确还是有更好的方法?