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
相关产品推荐
相关产品推荐

