那是我的 stackblitz/codepen:https ://stackblitz.com/edit/svgtest?file=index.tsx
当我将鼠标悬停在 svg 矩形上时,将触发悬停事件,因为立面/屋顶的父 svg 元素,所以我希望将边框添加到 svg 元素,但事实并非如此!相反,所有 svg 子元素都拥有该边框集。
为什么这个?
如您在此处看到的,已为 svg 元素注册了 OnMouseOver:
return <svg
onMouseOver={e => this.props.currentMounting.onMountingHoveredOver(e)}
onMouseOut={e => this.props.currentMounting.onMountingHoveredOut(e)}
onClick={e => this.props.currentMounting.onMountingSelected(e.currentTarget.id)}
opacity={this.props.currentMounting.opacity}
style={{ fill: 'red' }}
id={this.props.currentMounting.id}>
<rect x="0" y="0" height="60" width="60" />
<rect x="70" y="0" height="60" width="60" />
</svg>
但尽管如此,当我将鼠标悬停在它们上方时,所有 rect 元素都会显示边框!?