javascript - 如何通过右键单击打开 D3.js 上下文菜单
问题描述
我用 d3.js 在屏幕上画线。我想要做的是在过程完成后右键单击打开上下文菜单。此菜单必须是“完成”和“撤消”。我该怎么做?
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 - 任何简单的、可免费下载的 JavaScript IDE?
- c++ - 数组打印“随机”值的问题
- wordpress - 在 Wordpress 中删除 get_permalink
- python - 在 Jupyter Notebook 中更改启动 url?
- reactjs - 即使已设置标头,也不存在“Access-Control-Allow-Origin”标头
- webpack - Webpack File-loader 返回错误的子文件夹路径
- python - 有没有办法在 Pyomo 中获取带有变量名的列表?
- android - Android Studio:BottomNavigationView和片段之间的事务
- mongodb - 有没有办法提高 MongoDB 的全文搜索性能?
- linux - 使用管道在所有 git 分支中对所有同名文件的属性进行 grep