You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

d3.js v5.4.0中dragend报错求助:未知类型错误

解决D3.js v5中dragend报错的问题

嘿,这个问题我熟!在D3.js v5及后续版本中,dragend事件已经被官方弃用了,对应的替代事件是end,这就是你触发Uncaught Error: unknown type: dragend报错的原因。

直接把代码里的dragend改成end就能解决问题,修改后的代码如下:

d3.drag()
  .subject(function(d){ return {x: d.x, y: d.y}; })
  .on("drag", function(args){
    thisGraph.state.justDragged = true;
    thisGraph.dragmove.call(thisGraph, args);
  })
  .on("end", function() { // 替换dragend为end
    // todo check if edge-mode is selected
  });

顺便补充一下D3拖拽模块的标准事件体系,现在一共是三个核心事件:

  • start:拖拽动作开始时触发
  • drag:拖拽过程中持续触发
  • end:拖拽动作结束时触发

这样修改后,你的报错就会消失,拖拽结束的逻辑也能正常执行啦。

内容的提问来源于stack exchange,提问作者manymanymore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:09:15