1

我正在为一个项目使用 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 点击事件但在图例项内的跨度上使用 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');
});
4

0 回答 0