google-chrome - d3 滚动缩放在 Chrome 上不再起作用
问题描述
可能最近有一个 Chrome 更新,它制动 d3 缩放滚动功能。使用 Edge 时,一切仍然可以正常工作。请检查这个简单的例子以获得证明 - http://bl.ocks.org/nnattawat/9689303
也许有人知道我们如何恢复到较旧的 Chrome 版本以使此功能再次运行?
解决方案
我也遇到了这个“错误”——请参阅这个github 线程
在我看到的大多数示例中,它不再在 Chrome 89.0.4389.90 (Windows) 中工作,缩放被附加到非根 SVG 元素。
与d3-zoom observable example一样,确保它是根 SVG 是d3.zoom()
被调用的元素,而不是 a <g>
or <rect>
:
const svg = d3.create("svg")
.attr("viewBox", [0, 0, width, height]);
const g = svg.append("g");
g.selectAll("circle")
.data(data)
.join("circle")
.attr("cx", ([x]) => x)
.attr("cy", ([, y]) => y)
.attr("r", 1.5);
svg.call(d3.zoom()
.extent([[0, 0], [width, height]])
.scaleExtent([1, 8])
.on("zoom", zoomed));
function zoomed({transform}) {
g.attr("transform", transform);
}
return svg.node();
推荐阅读
- ubuntu - 在启动时挂载 AWS EFS 的 Cron 作业 - Ubuntu
- node.js - MongoDB 更新数组中的嵌套对象
- javascript - React Native WebView 使用外部 JavaScript 文件来注入 JavaScript
- html - 如何告诉搜索按钮继承搜索字段高度?
- json - 从 JSON 中列出动态字典的 Swift 问题
- node.js - UnhandledPromiseRejectionWarning:TypeError:无法使用 Sequelize ORM 读取未定义的属性“创建”
- powershell - 在保留文件夹结构的同时复制日期范围内的文件
- ocaml - OCaml 括号语法错误:括号不匹配
- maven - 无法传输工件 org.apache.maven.plugin:maven-surefire-plugin:pom:2.12.4 这个错误出现在 pom.xml 文件中
- jquery - 在引导网格中动态添加子 div 不占用 div 的全宽