echarts markline 开启draggable后不能监听到ondrag拖动事件、
时间: 2023-08-08 13:07:00 浏览: 267
vue draggable resizable 实现可拖拽缩放的组件功能
5星 · 资源好评率100%
是的,您的描述是正确的。在 ECharts 中,当您将 markline 设置为可拖动时,它不会触发 ondrag 事件。这是因为 markline 的拖动事件是在 echarts 的内部处理的,而不是像普通的 DOM 元素一样触发 ondrag 事件。
如果您需要在 markline 拖动时执行某些操作,可以通过监听 echarts 的 onmouseup 事件并检查是否拖动了 markline 来实现。具体来说,您可以在 onmouseup 事件中检查 markline 的位置是否发生了变化。如果发生了变化,则可以执行您需要的操作。
以下是一个示例代码片段,演示如何在 markline 拖动时执行某些操作:
```javascript
myChart.on("mouseup", function(params) {
var option = myChart.getOption();
var markLine = option.series[0].markLine;
if (
markLine.data[0].coord[0] !== markLine.data[1].coord[0] ||
markLine.data[0].coord[1] !== markLine.data[1].coord[1]
) {
// markline has been dragged
// do something here
}
});
```
在这个示例中,我们检查了 markline 的两个端点的坐标是否发生了变化。如果它们发生了变化,那么我们就知道 markline 已经被拖动了,可以在这里执行我们需要的操作。
阅读全文