【发布时间】:2022-11-21 11:44:46
【问题描述】:
This 是我在沙盒中做的测试。
如果您运行代码并单击这样的 2 个按钮:first、back、first、back ... 几次,您将在控制台看到目标事件的 name 属性变为 null,即使它在第一次时不为 null我按下那个按钮的时间。
我还在右下角附上了一张带有一些 cmet 的图片,以阐明行为。
这是代码:
handleSearchChange(event) {
const target = event.target;
const name = target.getAttribute("name");
console.log("Test name " + name + "\n");
}
render() {
return (
<div>
<div style={{ height: "30px", width: "30px" }}>
<FirstSVG name="first_page" onClick={this.handleSearchChange} />
</div>
<div style={{ height: "30px", width: "30px" }}>
<BackSVG name="back_page" onClick={this.handleSearchChange} />
</div>
</div>
);
}
【问题讨论】:
-
有时您的点击是在 SVG 中的元素上注册的,而这些元素没有名称属性。我建议使用语义 HTML(比如带有 onClick 事件的按钮),而不是将 onClick 事件分配给具有名称属性的 SVG:see console
标签: reactjs