1

我知道这是一个转换分组。我还查看了文档,但没有发现任何相关信息,但想知道这是否可能。

4

3 回答 3

1

将 id 分配给元素和侦听器。前任。

<g id="clickg"><circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red"/><g>

$("#clickg").on("click",function () {
    alert("click");
});
于 2013-06-20T02:20:10.010 回答
1

用 a 填充它<rect width="whatever the <g> width is" height="whatever the <g> height is"/>并使其<rect>可点击。rect 可以是透明的,请查看pointer-events属性以了解如何配置<rect>.

您可以<g>通过调用 getBBox 找到高度和宽度。

于 2013-06-19T18:18:58.050 回答
0

超级老问题,但它帮助了我,所以我想通过更多的分步指南和更多细节来扩展其中一个答案。这是我在我的组是几个断开连接的项目时所做的方法,我希望整个区域包括中间的空白区域都是可点击的。

  1. 获取元素的 x/y/width/height ,您可以通过选择元素并在控制台中输入,<g>在 chrome 开发工具中轻松完成此操作。<g>$0.getBBox()
  2. 创建一个新元素作为您的子元素,<g>如下所示:<rect x="TODO" y="TODO" width="TODO" height="TODO" style="pointer-events: all" />
  3. 用来自的信息替换上面的 TODOgetBBox
于 2021-11-30T23:51:43.393 回答