在单击子节点时触发子节点和父节点的onClick
onClick of both child and parent triggered when child is clicked
class Sample extends React.Component {
constructor(props) {
super(props);
this.handleChild = this.handleChild.bind(this);
this.handleParent = this.handleParent.bind(this);
}
render() {
return (
<div
style={{width: '100%', height: '500px', background: 'white'}}
onClick={this.handleParent}>
<div
style={{ width: '40px', height: '40px', margin: '0 auto', background: 'black'}}
onClick={this.handleChild}>
hello
</div>
</div>
);
}
handleParent(e) {
console.log('parent');
}
handleChild(e) {
console.log('child');
}
}
单击子节点时的输出
child
parent
期望输出
child
我的意思是我只是想触发孩子的onClick当孩子被点击。
父端工作正常。当parent被点击时,它只会触发parent的onClick。我的问题是孩子。
你需要停止在子处理程序中的传播
handleChild(e) {
e.stopPropagation();
console.log('child');
}
stopPropagation
-防止当前事件进一步传播捕获和冒泡阶段。
class Sample extends React.Component {
constructor(props) {
super(props);
this.handleChild = this.handleChild.bind(this);
this.handleParent = this.handleParent.bind(this);
}
render() {
return (
<div
style={{width: '100%', height: '500px', background: 'white'}}
onClick={this.handleParent}>
<div
style={{ width: '40px', height: '40px', margin: '0 auto', background: 'black'}}
onClick={this.handleChild}>
hello
</div>
</div>
);
}
handleParent(e) {
console.log('parent');
}
handleChild(e) {
e.stopPropagation();
console.log('child');
}
}
ReactDOM.render(<Sample />, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>
相关文章:
- 通过从节点父级获取所有子级对节点进行排序(获取子级数组)
- 仅使用某些子节点访问xml中父节点的子节点
- 使用Javascript设置带有子节点的父节点的类's文本等于.
- 如何确定父节点是否有子节点
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- 如何在JavaScript中删除子节点触发点击事件时的父节点
- 获取下一个不工作Javascript DOM的同级父节点的子节点
- 取消绑定父节点和子节点
- jstree jquery插件-获取父节点的所有子节点和子节点
- 使用jquery检索父节点的子节点
- 如何在所有父节点上获取文件夹图标,在所有子节点上获取文件夹加图标(左侧的图标)
- Kendo TreeView-只向没有子节点的父节点添加删除图像图标
- 如何在普通 JavaScript 中获取内部子节点的最外层父节点
- 子节点不会离开父节点
- 比较父节点和子节点的相似性
- hammer.js - 父节点和子节点上的不同滑动处理程序
- 在树布局中选择子节点的所有路径和父节点
- dojodijittree:如何管理父节点、子节点和叶节点
- 如何创建父节点(=父节点的兄弟节点)
- cloneNode并将所有节点(父节点+子节点)的值相加.Javascript