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

珠海市做网站网络服务有哪些

珠海市做网站,网络服务有哪些,石家庄网站建设方案,做化妆品销售网站如何一、基本概念:DOM事件的级别 // DOM0 element.onclickfunction(){} // DOM2, 新增了冒泡和捕获 element.addEventListener(click,function(){}, false) // DOM3, 新增更多事件类型 鼠标、键盘等 element.addEventListener(keyup,function(){}, false)二、DOM事件模…

一、基本概念:DOM事件的级别

// DOM0
element.onclick=function(){}
// DOM2, 新增了冒泡和捕获
element.addEventListener('click',function(){}, false)
// DOM3, 新增更多事件类型 鼠标、键盘等
element.addEventListener('keyup',function(){}, false)

二、DOM事件模型

捕获和冒泡

三、DOM事件流

事件流:浏览器再页面做交互的过程中,比如点击鼠标左键,这个左键如何传递到页面上,就是事件流
完整事件流: 捕获 → 目标阶段 → 冒泡

四、描述DOM事件捕获的具体流程

  1. 事件捕获:是从上到下的过程
  2. 第一个接收事件的对象是window
  3. 具体流程: window → document → html → body → … (按照html结构往下传递) → 目标元素
<!-- 模拟DOM时间的捕获的具体流程 --><div id="eve"><style>#eve {width: 100px;height: 100px;background-color: aqua;text-align: center;line-height: 100px;font-size: 20px;}</style>目标元素</div><script type="text/javascript">var ev = document.getElementById('eve');ev.addEventListener('click', function() {console.log('目标元素');}, true);document.body.addEventListener('click', function() {console.log('body');}, true);document.addEventListener('click', function() {console.log('document');}, true);window.addEventListener('click', function() {console.log('window');}, true);document.documentElement.addEventListener('click', function() {console.log('html');}, true);</script>

在这里插入图片描述

  1. 如何使用js获取html节点:document.documentElement

五、Event对象的常见应用

  1. event.preventDefaylt() 阻止默认事件
    场景描述:比如有一个需求,再点击a标签时,做一些js逻辑,需要阻止a标签的跳转行为
  2. event.stopPropagation() 阻止事件冒泡
    场景描述:父元素绑定事件A和子元素绑定事件B,我希望点击子元素时,只触发事件B, 不需要往上冒泡触发父元素的事件A
  3. event.stoplmmediatePropagation() 阻止事件冒泡 + 阻止相同事件监听被调用
    场景描述:假设一个元素同时绑定两个click事件,再第一次执行click事件时,执行stoplmmediatePropagation,阻止冒泡的同时也阻止了第二个click时间
div.addEventListener("click" , function(){alert("第一次执行");stopImmediatePropagation();
} , true);
​
div.addEventListener("click" , function(){alert("第二次执行");
} , true);// 点击div,第二次执行不会触发
  1. event.currentTarget 获取绑定事件的DOM对象
    场景描述:给ul绑定事件,event.currentTarget 获取ul的dom对象

  2. event.target 获取实际触发事件的DOM对象
    场景描述:给多个li标签绑定click事件,一般情况下会循环li节点,给每一个li绑定事件。这种情况会消耗大量的性能,可以通过事件委托的方式,把所有li事件绑定到一个ul上,通过event.target获取具体是哪一个li被点击

六、自定义事件(模拟事件)

  1. Event 自定义事件
var eve = new Event('custome');  // 声明一个自定义事件对象
var dom = document.getElementById("dom");
// 给dom节点绑定自定义事件
dom.addEventListener('custome',function(){console.log('custome')
})
// 触发自定义事件
dom.dispatchEvent(eve)
// custome
  1. CustomEvent 自定义事件,可待参数
var eve = new CustomEvent('custome', {detail: {name: '张三', phone: '13751032412'}}); // 声明一个自定义事件对象, 允许加参数
var dom = document.getElementById("dom");
// 给dom节点绑定自定义事件
dom.addEventListener('custome',function(e){console.log('参数', e.detail)
})
// 触发自定义事件
dom.dispatchEvent(eve)
// 参数 {name: '张三', phone: '13751032412'}
http://www.shuangfujiaoyu.com/news/34607.html

相关文章:

  • php网站方案怎么优化整站
  • github 做自己的网站seo顾问能赚钱吗
  • 画册什么网站做方便珠海做网站的公司
  • 刘金鹏做网站seo是什么意思?
  • 做众筹网站今天的国内新闻
  • 五屏网站建设品牌关键字排名优化工具
  • 南充网站建设hulingwl国内最新新闻
  • 做设计的搜素材上什么网站做神马seo快速排名软件
  • 公司网站抬头用什么软件做天津疫情最新消息
  • 网站开发美学 测试的效益福州百度网站排名优化
  • 做网站开发哪里可以接单沈阳seo排名优化教程
  • 传统网站建设架构seo系统培训班
  • wordpress添加注册页面模板seo排名资源
  • 微网站建设包含买外链有用吗
  • 网站建设网站徒手整形百度下载安装免费下载
  • 网站服务费算什么费用百度官方网站登录
  • 外贸型网站百度网址大全 旧版本
  • 电子商务网站设计的书web网页
  • 马克·扎克伯格大学做的网站软文写作是什么
  • 织梦网站地图怎么做免费网页制作模板
  • 福田网站建设seo新科怎么进行网络营销
  • 福建网络营销服务官网优化 报价
  • 公司建设网站的申请信用卡百度收录批量查询
  • 求一个做门窗技术的网站如何做推广宣传
  • 厦门市建设管理协会网站公司注册流程
  • 网站建设 官免费模板素材网站
  • 大型做网站的公司有哪些公司网站制作要多少钱
  • 帝国cms对比WordPress搜索引擎优化培训免费咨询
  • 李氏牛仔网站建设风广州网站营销seo
  • h5网站制作视频谷歌seo服务