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

网站建设tlmh金融网站制作

网站建设tlmh,金融网站制作,手机网页设计尺寸,郑州电力高等专科学校招生办电话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.yayakq.cn/news/461404/

相关文章:

  • 成都装修网站制作多少钱网站如何设置关键词
  • 做网站的技术关键怎么注册工作邮箱
  • html网页制作实训报告郑州seo地址
  • 网站关键词seo推广公司哪家好wordpress数据库调用文章
  • 私人网站建设步骤东莞市专注网站建设服务机构
  • ps 做儿童摄影网站首页推动高质量发展的举措
  • 网站开发 基础教学视频建大型网站需要多少钱
  • 怎样先做网站后买域名哪个网站用户体验较好
  • 网站建设维护公司沈阳建站公司模板
  • 灯饰网站源码关于建设校园网站申请
  • 做网站要空间还是服务器北京企业服务e窗通平台
  • 软装设计费收费标准廊坊视频优化展现
  • 长沙做网站凡客整装
  • 内江网站建设公司怎么创建wordpress站点
  • 网站app充值记账凭证怎么做物流公司做网站有用吗
  • 修改网站模板一个门户网站需要多大的空间
  • 网站开发实践实验报告app推广全国代理加盟
  • 佛山市骏域网站建设专家建设行政管理部门网站
  • 建设个直播网站要多少钱软件界面设计的标准是什么
  • 银川网站建设哪家优中国建设银行移动门户网站
  • 廊坊网站建设公司费用wordpress总是跳出淘宝
  • 环保设备网站建设方案2017网站设计尺寸
  • 杭州网站设计公司价格seo产品是什么意思
  • 经常浏览不良网站会被记录吗校园二手网站建设目的意义
  • 个人工商户做网站要上税吗wordpress发布商品
  • 纯图片网站有哪些做网游单机版的网站
  • 定制开发响应式网站网络运维工程师面试题
  • 哪个地方可学习网站建设青岛商城网站建设
  • 八角网站建设广东石油化工建设集团公司网站
  • 淘宝客如何做自己的网站wordpress评论成功提醒