我正在使用Highcharts JS进行项目,我无法弄清楚如何引用所点击的图例项目。我想将一个类切换到单击的图例项,这样我就可以为活动/禁用的图例项添加不同的样式。
当我使用legedItemClick事件时,我看到控制台日志被触发但我找不到孩子。 (可能是因为这引用了系列而不是图例项目)。例如:
plotOptions:{
line:{
marker:{
symbol:'circle',
enabled: false
},
events: {
legendItemClick: function () {
$(this).addClass('new_class');
console.log('click click');
$(this).find('.legend-name').toggleClass('visible_true').toggleClass('visible_false');
$(this).find('.legend-icon').toggleClass('visible_true').toggleClass('visible_false');
}
},
showCheckbox: false
}
},
当我尝试不使用highcharts click事件但在图例项目内的跨度上使用jQuery单击处理程序时,没有任何反应,甚至控制台日志都不会触发。这可能是因为highcharts的默认点击处理程序阻止冒泡或其他东西。例如:
$('body').delegate('.highcharts-legend-item span', 'click', function(){
console.log('click');
$(this).find('.legend-name').toggleClass('visible_true');
$(this).find('.legend-icon').toggleClass('visible_true');
});