我正在寻找一种在平移端附加功能的方法,比如zoomCallback。 我正在用简单的JS编写应用程序,但我找不到正确检测的方法 平移结束。我尝试了什么:
阅读dygraph.js中的注释,过去可以在panEnd上设置一个函数(第2861行),但该代码注释了“访问这些方法/属性的旧方法”,但没有说新的方式是什么。我已经尝试过drawCallback,但是如果用户仍在忙着平移,那么走dygraph对象并不会显示任何暴露的变量。
有没有办法在平移端执行代码?
谢谢,
答案 0 :(得分:0)
您可以设置自己的interactionModel(我是为缩放设置的),但平移也可以。
const myInteractions = Object.assign({}, Dygraph.defaultInteractionModel, {
dblclick: (event, g, context) => {
console.log("double-click!", event, g, context);
},
mousedown: (event, g, context) => {
console.log("start mousedown");
context.initializeMouseDown(event, g, context);
Dygraph.startPan(event, g, context);
},
mousemove: (event, g, context) => {
if(context.isPanning) {
console.log("mouse is moving", event, g, context);
Dygraph.movePan(event, g, context);
}
},
mouseup: (event, g, context) => {
console.log("mouseup", event, g, context);
Dygraph.endPan(event, g, context);
context.isPanning = false;
}
});
在您的图表初始化:将myInteractions
添加到选项
{
// other options
interactionModel: myInteractions,
}
在鼠标按下事件中,您可以检查不同的键以启动,例如缩放或平移
if (event.altKey || event.shiftKey) {
Dygraph.startZoom(event, g, context);
} else {
Dygraph.startPan(event, g, context);
}