这是一个基本组成部分。无论是<ul>
和<li>
拥有的onClick功能。我只希望<li>
触发onClick 而不触发<ul>
。我该如何实现?
我玩过e.preventDefault(),e.stopPropagation()都无济于事。
class List extends React.Component {
constructor(props) {
super(props);
}
handleClick() {
// do something
}
render() {
return (
<ul
onClick={(e) => {
console.log('parent');
this.handleClick();
}}
>
<li
onClick={(e) => {
console.log('child');
// prevent default? prevent propagation?
this.handleClick();
}}
>
</li>
</ul>
)
}
}
// => parent
// => child
我在
event.stopPropagation()
上班时遇到问题。如果您也这样做,请尝试将其移至点击处理程序函数的顶部,这是我阻止事件冒泡所需的操作。示例功能: