React 在body上绑定事件以及阻止事件冒泡
<!DOCTYPE html>
<html><head><meta charset="UTF-8" /><title>React 在body上绑定事件以及阻止事件冒泡</title><script src="https://unpkg.com/react@16/umd/react.development.js"></script><script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script><script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script><style>html{height: 100%;}body{height: 100%;background-color: rgba(0,0,0,0.2);}.m-outer{background-color: red;}</style>
</head><body><div id="root"></div><script type="text/babel">class Toggle extends React.Component {constructor(props) {super(props);this.state = {isToggleOn: true};// 这个绑定是必要的,使`this`在回调中起作用this.handleClick = this.handleClick.bind(this);}componentDidMount() { document.body.addEventListener('click', e => { if (e.target && e.target.matches('#m-btn')) { return; } console.log('body');}); } componentWillUnmount() { document.body.removeEventListener('click');} handleClick() {this.setState(prevState => ({isToggleOn: !prevState.isToggleOn}));}render() {return (<button onClick={this.handleClick} id="m-btn">{this.state.isToggleOn ? 'ON' : 'OFF'}</button>);}}ReactDOM.render(<Toggle />,document.getElementById('root'));</script>
</body></html>
转载于:https://www.cnblogs.com/xutongbao/p/9924745.html
React 在body上绑定事件以及阻止事件冒泡相关推荐
- 事件(阻止事件传播、阻止默认事件、事件源对象、事件委托)
阻止事件传播 阻止事件传播e.stopPropagation() 谷歌浏览器 阻止事件传播(冒泡阶段) var oBig = document.getElementById('big');var oS ...
- Vue 2_3.vue的v-on键盘事件和阻止事件默认行为
vue中键盘事件的关键字是 v-on:keydown,格式为 v-on:keydown="fun($event)" ($event是vue中的事件对象,和我们传统js中的event ...
- js阻止默认事件和阻止事件冒泡浅谈
入行三年,今天重新谈下这两个事件: 一.默认事件,即像 1.a链接点击跳转行为 2.form表单中的button或type为submit的input点击会默认提交submit事件 3.document ...
- 阻止默认事件与阻止事件冒泡
事件捕获 事件由父级向子级传递 通用样式: <style>.d1{width: 300px;height: 300px;background-color:tomato;overflow: ...
- element组件自带的事件如何阻止其冒泡
如下示例,@confirm.stop并不能组织事件冒泡,那怎么办? <el-popconfirmtitle="这是一段内容确定删除吗?"@confirm.stop=" ...
- JS、Vue、React阻止事件冒泡及阻止默认事件
JS阻止事件冒泡及阻止默认事件解决方案: 1.event.preventDefault -- 阻止默认 Event 接口的 preventDefault()方法,告诉user agent:如果此事件没 ...
- html 冒泡事件拦截,JavaScript阻止事件冒泡与事件捕获
1.事件冒泡 在一个对象上触发某类事件,如onclick事件等,在其祖先节点上也会依次触发该事件. 事件冒泡 依次输出:a.div.body 注意:不是所有的事件都能冒泡.blur.focus.loa ...
- 简单了解事件冒泡和阻止事件冒泡
1.什么叫事件冒泡? 就是在触发事件时候 会一层一层向上冒泡(他同时会触发父类的事件) 2.阻止事件冒泡 意思就是阻止事件向上传递 第一种ie浏览器的阻止事件冒泡 利用了一种属性cancelBubbl ...
- JS7day(事件对象,事件流,事件捕获和冒泡,阻止事件流动,事件委托,学生信息表案例)
文章目录 事件对象 获取事件对象 部分常用属性 事件流 事件捕获概念: 事件冒泡概念: 阻止事件流动: 相同的鼠标经过事件: 两种(监听事件)注册事件的区别: 传统on注册(L0) 事件监听注册(L2 ...
最新文章
- linux共享比windows好处,开源Linux虚拟化优势比Windows有何特点?
- [转]程序员生涯总结
- 使用Docker搭建Elasticsearch6.8.6集群及设置集群用户密码
- qsort函数应用大全
- c++迭代器的一个例子
- linux i18n修改,中文版英文版体现
- AD域机器如何指定时钟服务器,active-directory – 如何让我的域控制器与正确的外部时间源同步?...
- 大学计算机基础毕业论文操作步骤,大学计算机基础教学论文
- 网上读书关于软件测试,【读书笔记】之软件测试
- 【Linux】生产者消费者编程实现-线程池+信号量
- 通过“”斐波那契数列“”学习函数递归
- ArcGIS中KML/KMZ转为.shp文件
- oracle 时间段加减,ORACLE 时间加减操作
- Oracle官网下载11g历史版本
- Blender插件BoxCutter 7.1.7v15 硬表面建模2.91+教程Box Cutter
- linux系统 oracle 11g字符界面详细安装过程
- 记不住的 rank函数
- 自制车速记录仪「GitHub 热点速览 v.21.31」
- 每条跑道背后,可能都有一个胖子~
- 洛谷P3131 [USACO16JAN]Subsequences Summing to Sevens S 题解