javascript - 访问内联 SVG

标签 javascript reactjs svg

我正在从字符串中读取 SVG,然后使用 dangerouslySetInnerHTML 显示它。这工作正常,但有一件事我无法解决:

SVG 包含一些 <g> ,我需要向它们添加由 React 处理的点击处理程序。

由于 SVG 不是由 React 构建的,因此我没有找到向组添加点击处理程序的方法。

有什么想法吗?

最佳答案

您可以使用 componentDidMount 内的 findDOMNode 访问 DOM 元素。

componentDidMount () {
  const nodeList = ReactDOM.findDOMNode(this).getElementsByTagName('g')
  // Do things with nodeList here, e.g. map over and attach click event
}

关于javascript - 访问内联 SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44128826/

相关文章:

javascript - 在 native react 中,当我在渲染部分放置 if 语句检查变量的值时,出现错误

javascript - 如何将 SVG 附加到 <div>?

javascript - 将带有类 ID 和图像的 div 添加到容器

reactjs - `routeDepth` 中未指定所需的上下文 `RouteHandler`

javascript - 初始数据加载 ReactJS

javascript - Mobx 存储未注入(inject)

javascript - foreignObject Spinner 在 Firefox 中被剪裁

javascript - 加载和显示 svg

javascript - 如何使用 Express 中的 basic-auth 中间件定向到默认登陆页面

javascript - 如何最小化这些 if 语句?