在用户完成拖拽并释放鼠标按钮后触发,但在任何更改应用之前触发
id | string|number | 任务的ID |
mode | string | 拖拽模式("resize"、"progress"、"move"、"ignore") |
task | Task | 任务对象的原始状态副本(拖拽前的状态) |
boolean | 决定默认事件动作是否继续执行(true)或取消(false) |
gantt.attachEvent("onBeforeTaskChanged", function(id, mode, task){
// 可以在这里添加自定义逻辑
return true;
});
task 参数表示任务的原始(未更改)对象,而通过 gantt.getTask(id) 访问的任务数据则反映了更新后的状态。
这使得可以比较以检测拖拽过程中发生了哪些变化,比如持续时间是增加还是减少,开始日期是向前还是向后移动。
从该事件返回 false 会使甘特图中的任务恢复到原始任务值。