考虑以下 React 组件export default function App() { return ( <div className="App" onClick={() => console.log("on app div")}> <div className="first" onClick={() => console.log("first div")}> first </div> <div className="second" onClick={() => console.log("second div")}> second </div> <div className="third">third</div> </div> );}因此,单击子 div 当前将触发父 div 和子 div 的 onClick 方法。但是对于第一个孩子,我只想触发子 onClick 方法。有没有办法做到这一点?我试过给子 div 一个更高的 z-index 值,但它仍然触发两个 onClicks,这是我试过的 css.App { font-family: sans-serif; text-align: center; position: relative;}.first,.second,.third { position: absolute; width: 100px; line-height: 100px; text-align: center;}.first { background: lightblue; position: absolute; z-index: 10;}.second { background: lightcoral; position: absolute; left: 200px;}.third { background: lawngreen; position: absolute; left: 100px;}谁能告诉我我尝试过的 css 或任何其他方法是否有问题以实现此目的。
1 回答
![?](http://img1.sycdn.imooc.com/545847f50001126402200220-100-100.jpg)
慕雪6442864
TA贡献1812条经验 获得超5个赞
你应该使用 event.stopPropagation()
<div className="second" onClick={(event) =>
event.stopPropagation()
console.log("second div")
}>
second
</div>
添加回答
举报
0/150
提交
取消