当前位置: 首页 > news >正文

石家庄网站开发哪家好vi设计与网站建设招标文件

石家庄网站开发哪家好,vi设计与网站建设招标文件,广州市 优化推广,微信公众号开通商城react自身实现了一套自己的事件机制,包括事件注册、事件的合成、事件冒泡、事件派发等,虽然和原生的是两码事,但也是基于浏览器的事件机制下完成的。 react 的所有事件并没有绑定到具体的dom节点上而是绑定在了document 上,然后由…

react自身实现了一套自己的事件机制,包括事件注册、事件的合成、事件冒泡、事件派发等,虽然和原生的是两码事,但也是基于浏览器的事件机制下完成的。

react 的所有事件并没有绑定到具体的dom节点上而是绑定在了document 上,然后由统一的事件处理程序来处理,同时也是基于浏览器的事件机制(冒泡),所有节点的事件都会在 document 上触发。

React事件与原生事件的执行顺序又是如何?

代码示例

import React from 'react';
class App extends React。Component {constructor(props) {super(props);this.parentRef = React.createRef();this.childRef  = React.createRef();}componentDidMount() {console.log('react componentDidMount');this.parentRef.current?.addEventListener('click', () => {console.log('父元素:原生事件 父元素 DOM 事件监听');});this.childRef.current?.addEventListener('click', () => {console.log('子元素:原生事件 子元素 DOM 事件监听');});document.addEnvetListener('click', e => {console.log('document:原生document DOM 事件监听');});}parentClickFun = () => {console.log('React:父元素事件监听'); };childClickFun = () => {console.log('React:子元素事件监听'); }render() {return (<div ref={this.parentRef} onClick={this.parentClickFun}><div ref={this.childRef} onClick={this.childClickFun}>事件执行</div></div>);}
}

输出:

子元素:原生事件 子元素 DOM 事件监听

父元素:原生事件 父元素 DOM 事件监听

React:子元素事件监听

React:父元素事件监听

document:原生document DOM 事件监听

 事件执行顺序:

1、先执行 子元素的DOM事件

2、执行 父元素的DOM事件

3、执行 React  子元素的事件

4、执行 React 父元素的事件

5、 最后执行 document上的DOM事件的监听

由上总结:

1、React 中所有事件都挂载在document对象上

2、先触发真是DOM事件,再触发React事件

3、最后执行document 上挂载的事件

如何阻止冒泡行为?

1、阻止合成事件的冒泡, e.stopPropagation();

2、阻止合成事件与最外层document 上的事件的冒泡:e.nativeEvent.stop

3、阻止合成事件与原生事件的冒泡:

document.body.addEventListener('click', e => {if (e.target && e.target.matches('div.code')) {return;}this.setState({active: false});
});

总结

React 最终会绑定在document这个DOM上

React有一套自己的合成事件机制

http://www.15wanjia.com/news/166450.html

相关文章:

  • 网站带支付模板sw网站建设
  • 怎样创造自己的网站wordpress智能表单
  • 网站二维码怎么制作上海app软件开发
  • 做网站的准备企业信用报告如何获取
  • 网站建设及维护费用大连高新园区住建局官网
  • 网站开发交流吧产品网络营销推广方案
  • 手机网站seo怎么做网站返回指定位置怎么做
  • 英文 edm营销 的网站 与 工具opkg 做网站的包叫什么名字
  • 网站做交叉连接深圳罗湖网站建设
  • 佛山微信网站建设哪家好企业营销策划实现的途径
  • 杭州协会网站建设方案企业网站哪家做的好
  • 无棣住房建设局网站wordpress 书店
  • 网站建设实训报告做个电商网站需要怎么做
  • 网站设计开发报价网站开发最强工具
  • 长沙简单的网站建设自己的网站怎么做关键词
  • 二学一做专题网站qq是哪个公司旗下的游戏
  • 网站建设实训心得体会个人网站用什么开发
  • 购买一个网站多少钱天津滨海新区落户政策
  • 网站分为哪几种seo搜索优化怎么做
  • 中国建设银行网站首页旧版冷库建设网站
  • 仿牌网站 域名注册哪里有网络推广公司
  • 网站重新安装网站架构原理
  • 集团公司门户网站建设网站开发的关键技术与难点
  • 建筑网站大全导航手机qq网页版登录
  • 做mv主题网站上海网站seo策划
  • 增加网站关键词库潍坊免费模板建站
  • 西安宝马建设科技股份有限公司网站做网站f12的用处
  • 网站功能报价阿里云wordpress xampp
  • 专业做电脑系统下载网站好建设一个app要多少钱
  • 摄影网站模板高端网站建设询问磐石网络