当前位置: 首页 > 面试题库 >

使用react将onClick事件添加到组元素(SVG)

呼延原
2023-03-14
问题内容

我正在尝试将onClick事件添加到现有的svg。现在我有这个:

<g id="Group" onClick={this.clickGroup.bind(this, 1)}>

有点 起作用,但不完全是…当我单击该组时会触发该事件,但是可单击的“区域”与我想要可单击的组不同(在我看来,这是完全随机的)。

有没有更好的方法来向<g>元素添加事件(使用React?)?


问题答案:

g元件是一个空的容器; 它本身不能触发事件。

如果运行此示例,将会看到可以click通过单击g元素的子级来触发事件,但是如果单击它们之间的空白,则不能。

您必须使用实际形状来触发SVG中的事件。



 类似资料:
  • 问题内容: 我在SVG教程中找到了此示例,该教程说明了如何将事件处理程序用于SVG元素。看起来像下面的代码: 但是,这似乎不起作用。当我单击该元素时,没有任何反应。 也许重要的是要提到我正在使用PHP从PHP脚本内部显示SVG的事实。另外,请注意,使用AJAX和将PHP脚本生成的内容带入页面。 这可能与它有关吗?非常感谢您的帮助。 问题答案: 似乎所有JavaScript都必须包含在SVG中才能运

  • 问题内容: 我一直试图将onclick事件添加到使用JavaScript添加的新元素中。 问题是当我检查document.body.innerHTML时,我实际上可以看到onclick = alert(’blah’)已添加到新元素中。 但是,当我单击该元素时,我看不到警报框正在运行。实际上,任何与JavaScript相关的功能都无法正常工作。 这是我用来添加新元素的方法: 这是我所谓的函​​数:

  • 问题内容: 我试图通过Javascript向表行添加onclick事件。 这在Firefox中可以正常工作,但是在Internet Explorer(IE8)中,我无法访问表格单元。我认为这与onclick函数中的“ this”被标识为“ Window”而不是“ Table”(或类似的东西)有关。 如果我可以访问当前行,则可以在onclick函数中执行,因为我找不到这样做的方法。有什么建议么? 问

  • 问题内容: 所以我在这里想要实现的功能与在此处实现的功能非常相似flexbox中项目的过渡弹性增长 但是我想知道如何用React做到这一点 当然,这会向它们两个都添加className,但是我要实现的是,其中一个随着动画而变大而另一个崩溃。而且我有2或10个元素都没关系 问题答案: 您可以在点击时设置活动索引:

  • 问题内容: 我想将onclick事件绑定到我使用jQuery动态插入的元素 但是它从不运行绑定函数。如果您能指出此示例为何不起作用以及如何使其正常运行,我将不胜感激: 编辑:我编辑了该示例以包含方法插入到其中的两个元素。在这种情况下,将永远不会执行该调用。 问题答案: 第一个问题是,当您在具有多个元素的jQuery集合上调用append时,会为每个元素创建要添加的元素的克隆,因此丢失了附加的事件观

  • 问题内容: 我已经有了一个状态: 现在,我想用新信息对其进行更新。因此,向其添加另一个div。 像这样: 我该怎么做?或者我需要从零开始设置新状态 问题答案: 我认为以组件状态存储jsx组件不是一个好主意。我认为您应该仅以呈现组件所需的状态保存数据。 如果您真的想在状态中存储jsx,为什么不将“对话”属性定义为数组?然后,您可以向其中添加新组件。 但是最好只存储数据,例如“ first”和“ ne