У меня возникли проблемы с преобразованием кода ниже для работы с Chart.js 2.0. Моего объекта диаграммы, созданный с помощью искомые ...ChartJS 2.0 разницы в коде справки
var chart = new Chart({...constructor code here...});
, и я понял, как создать свою собственную подсказку и пользовательские легенды, но я не могу показаться, чтобы выяснить следующие пункты.
Во-первых, у меня есть событие клика, связанное с самой диаграммой, поэтому, когда пользователь нажимает на нее, он вызывается пользовательской функцией, проходящей в сегменте (фрагменте круговой диаграммы), который пользователь нажал. В предыдущей версии версии Chart.js 1.0 я мог бы назвать следующий код, и он отлично работал. Это позволило бы мне увидеть метку и свойство наряду с другими свойствами сегмента.
// Pass the segment of the pie chart the user clicks into myCustomFunction()
$('#chartDiv').click(function(evt) {
var activeSegment = chart.getSegmentsAtEvent(evt);
myCustomFunction(activeSegment);
}).css('cursor','pointer');
Другой вещь, которую я не могу понять, я хочу, чтобы добавить MouseEnter и MouseLeave события моих пользовательских условных обозначений элементов. Когда пользователь нависает над элементом легенды, он выведет правильную подсказку для этого сегмента. Когда они перемещаются, всплывающие подсказки закрываются. Вот код, который я использовал на ChartJS 1.0.
// Tie the legend to the chart tooltips
var helpers = Chart.helpers;
var chartLegend = document.getElementById("chartLegend");
helpers.each(chartLegend.firstChild.childNodes, function(legendNode, index){
helpers.addEvent(legendNode, 'mouseenter', function(){
var activeSegment = chart.segments[index];
activeSegment.save();
activeSegment.fillColor = activeSegment.highlightColor;
chart.showTooltip([activeSegment], true);
activeSegment.restore();
});
helpers.addEvent(legendNode, 'mouseleave', function(){
chart.draw();
});
});
Если кто-нибудь может помочь мне понять это, я был бы очень признателен. Спасибо!