如何用鼠标右键打开D3.js上下文菜单



我用d3.js在屏幕上画了一条线。我想做的是在过程结束后用鼠标右键打开上下文菜单。此菜单必须"完成"one_answers"撤消"。我该怎么做?

let line;
let vis = d3.select("body").append("svg")
.attr("width", 1280)
.attr("height", 610)
.on("click", mousedown)
.on("contextmenu", mouseup);
function mousedown() {
let m = d3.mouse(this);
line = vis.append("line")
.attr("x1", m[0])
.attr("y1", m[1])
.attr("x2", m[0])
.attr("y2", m[1]);
vis.on("mousemove", mousemove);
}
function mousemove() {
let m = d3.mouse(this);
line.attr("x2", m[0])
.attr("y2", m[1]);
}
function mouseup() {
vis.on("mousemove", null);
}
<!DOCTYPE HTML>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="assets/style.css">
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
</body>

这篇文章可能会对您有所帮助。

使用javascript和css构建上下文菜单的完整详细分步指南。

您只需要将上下文项与操作的d3.js操作链接

最新更新