d3反应onClick / Zoom冲突

时间:2018-11-01 04:13:00

标签: javascript reactjs d3.js

我正在React应用程序中尝试使用SVG元素。

我在path元素上有这样的JSX:

<path
  key={`path-${i}`}
  className={'pathelem'}
  d={d3Geo
    .geoPath()
    .projection(this.projection($width, $height))(d)}
  onClick={
  evt =>
  this.mapClicks(
    evt,
    d,
    this.getMapData(d, evt)
  )

  }
  stroke="#fff"
/>

由于某种原因,在移动设备上,当元素初始呈现在页面上时,我可以单击并发生预期的行为。但是,如果我缩放并单击我的resetZoom fn,则单击事件不再在元素上触发。 (这仅发生在移动设备上,特别是在ios Safari中。

resetZoom =() => {
         d3Selection
            .select('svg.elem')
            .call(zoomed.transform, d3Zoom.zoomIdentity)
            .on('.zoom', null);
        }

}

0 个答案:

没有答案