晚上好!
我正在尝试获取网络图上放置点的坐标。
不幸的是,使用文档中的信息似乎出了问题,但我也可能错过了一个关键点。
我的选项如下:
{
plotOptions: {
series: {
dragDrop: {
draggableX: true,
draggableY: true,
},
point: {
events: {
drop: function (e) {
console.log('I have been dropped', this, e);
},
click: function (e) {
console.log('I have been clicked', this, e);
}
}
}
}
},
}
可以在这里找到复制案例https://jsfiddle.net/41wvq62t/2/
知道出了什么问题吗?
NetworkGraph 不支持
series.dragDrop
选项,因此点拖/放事件不可用。文档中的这种不一致之处已被报告,并将很快得到纠正。
作为解决方法,您可以包装 networkGraph 模块中的 onMouseUp 和 onMouseDown 函数来检测拖/放位置。
示例代码:
(function(H) {
H.wrap(Highcharts.seriesTypes.networkgraph.prototype, 'onMouseUp', function(proceed, point) {
console.log('Drop ', point.name + ': ', point.plotX);
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
});
}(Highcharts));
(function(H) {
H.wrap(Highcharts.seriesTypes.networkgraph.prototype, 'onMouseDown', function(proceed, point) {
console.log('Drag ', point.name + ': ', point.plotX);
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
});
}(Highcharts));
演示: https://jsfiddle.net/BlackLabel/htj0g619/
API参考: :https://www.highcharts.com/docs/extending-highcharts/extending-highcharts