Javascript 将图例从图表中拖出

Javascript 将图例从图表中拖出,javascript,html,highcharts,drag-and-drop,Javascript,Html,Highcharts,Drag And Drop,我有一个系列表示为图表外的按钮,可以拖动。当我把它们拖到折线图上时,我会用正确的值添加那个序列。这部分工作正常 当我想从图表中删除系列时,我不想使用类似的工作流。图例项可能是从图表中拖出的最佳项,但是-我在使用原生HTML5拖放API拖出图例时遇到了一些主要问题 我使用HTML图例并将正确的HTML属性附加到它,但运气不好。小提琴 我不太确定是什么导致了这个问题,但我相信这是Highcharts所做的事情,因为在网站上的其他地方只是一个原始拷贝和粘贴的图例就可以了 有人有什么想法吗?不幸的是,这

我有一个系列表示为图表外的按钮,可以拖动。当我把它们拖到折线图上时,我会用正确的值添加那个序列。这部分工作正常

当我想从图表中删除系列时,我不想使用类似的工作流。图例项可能是从图表中拖出的最佳项,但是-我在使用原生HTML5拖放API拖出图例时遇到了一些主要问题

我使用HTML图例并将正确的HTML属性附加到它,但运气不好。小提琴

我不太确定是什么导致了这个问题,但我相信这是Highcharts所做的事情,因为在网站上的其他地方只是一个原始拷贝和粘贴的图例就可以了


有人有什么想法吗?

不幸的是,这样做是不可能的,因为符号不会移动,它不是html元素,而是svg。您可以尝试调整此插件:

你好,塞巴斯蒂安,谢谢你的回复。从生成的代码来看,useHTML标志似乎将图例呈现为图表之外的HTML元素div,至少在svg标记之外。你能对此作进一步评论吗?我看过movable legend插件,但不幸的是,该图例被呈现为svg,您无法将其拖出画布。老实说,您可以尝试移动svg元素,但我没有解决方案。
$(function () {
    $('#container').highcharts({
        title: {
            text: 'Monthly Average Temperature'
        },
        subtitle: {
            text: 'Source: WorldClimate.com'
        },
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },
        yAxis: {
            title: {
                text: 'Temperature (°C)'
            },
            plotLines: [{
                value: 0,
                width: 1,
                color: '#808080'
            }]
        },
        tooltip: {
            valueSuffix: '°C'
        },
        legend: {
            useHTML: true
        },
        series: [{
            name: 'Tokyo',
            data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
        }, {
            name: 'New York',
            data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
        }, {
            name: 'Berlin',
            data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
        }, {
            name: 'London',
            data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
        }]
    });
$('div .highcharts-legend-item span')
    .attr('draggable', 'true')
    .attr('ondragstart', 'dragChartLegend(event)');
});

function dragChartLegend(event) {
    console.log(event);
}