【发布时间】:2021-11-07 15:50:50
【问题描述】:
在https://stackoverflow.com/a/44795246/3416774中,代码的实质是:
network.on("afterDrawing", function (ctx) {
var dataURL = ctx.canvas.toDataURL();
document.getElementById('canvasImg').src = dataURL;
});
它如何运行? ctx 没有在任何地方定义。在Vis.js' documentation中,afterDrawing事件有这样的描述:
| Name | Properties | Description |
|---|---|---|
| afterDrawing | canvas context | Fired after drawing on the canvas has been completed. Can be used to draw on top of the network. |
【问题讨论】:
-
afterDrawing事件将ctx提供给传递的回调。见docs -
这是一个叫做
callback functions的概念,一旦.on完成了它的工作,它就会返回一个值ctx,你可以在你的代码中使用它。 -
“未在任何地方定义”。好吧,它被定义为
function的参数。 -
并在文档中列为
afterDrawing事件的“属性”(尽管这是一种令人困惑的语言)。 -
@pilchard 啊,
ctx是canvas context的缩写。那么当on()方法完成时,它会返回画布上下文以便function可以接听?
标签: javascript vis.js