我认为d3或Chrome都存在错误,但很可能我做错了。
我有类似
的东西d3.select("body").append("svg")
[...]
.on("click", function() { /* stuff */ })
.call(zoom);
与
var zoom = d3.zoom()
[...]
.on("zoom", function() { /* stuff */ });
现在,这很好用,大部分时间。正在处理点击,正在处理缩放。
有时,Chrome会完全停止处理点击。我在那里放了一些调试console.log()
,我发现正在调用"zoom"
对象上的zoom
事件而不是"click"
事件。 svg
对象。刷新不会解决问题。我实际上必须完全退出浏览器并重新启动,然后它会再次运行一段时间。
我没有注意到在Edge或Firefox中发生这种情况,但由于我的主浏览器是Chrome,我还没有真正在其他浏览器中测试它的时间足够长,以确定它是否发生在那里。
我确信我做错了,直到我检查了https://bl.ocks.org/mbostock/35964711079355050ff1上的示例,它似乎也有同样的问题,并且在重新启动浏览器后工作正常。
我正在使用d3 4.4.0而我使用的是Chrome 55.0.2883.87。
答案 0 :(得分:0)
我知道这很古老,但是我遇到了这个问题并将其更新为d3 4.13.0,我相信现在可以解决此问题。