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

网站关键词优化外包服务在线制作图片的免费软件

网站关键词优化外包服务,在线制作图片的免费软件,三合一网站建设用途,余姚网页设计公司事件冒泡和事件捕获分别由微软和网景公司提出#xff0c;这两个概念都是为了解决页面中事件流#xff08;事件发生顺序#xff09;的问题。 div iddiv1div iddiv2div iddiv3click/div/div 这两个概念都是为了解决页面中事件流事件发生顺序的问题。 div iddiv1div iddiv2div iddiv3click/div/div /div如上代码三个div标签呈嵌套关系假使三个元素都注册了相同的事件那么他们的触发顺序是怎样的呢 故此为了解决这个事件流问题微软和网景提出了两种几乎相反的概念。 一、事件冒泡(event bubbling) 微软提出了名为事件冒泡的事件流。事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。可以想象把一颗石头投入水中泡泡会一直从水底冒出水面。也就是说事件会从最内层的元素开始发生一直向上传播直到document对象。 刚才的例子三个元素间的触发顺序就应该是 div3-div2-div1.我们给上面代码里的三个div元素绑定事件触发一下看看 var div1 document.getElementById(div1);var div2 document.getElementById(div2);var div3 document.getElementById(div3);div1.onclick function () {console.log(this.id);};div2.onclick function () {console.log(this.id);};div3.onclick function (e) {console.log(this.id);};结果如下 这就是事件冒泡。 二、事件捕获(event capturing) 网景提出另一种事件流名为事件捕获。事件从最不精确的对象(document 对象)开始触发然后到最精确(也可以在窗口级别捕获事件不过必须由开发人员特别指定)的对象与事件冒泡相反事件会从最外层开始发生直到最具体的元素。同样形象的比喻一下可以想象成警察逮捕屋子内的小偷就要从外面一层层的进入到房子内。 针对刚才的例子三个元素间的触发顺序应该是div1-div2-div3。 我们给上面代码里的三个div元素绑定事件触发一下看看 var div1 document.getElementById(div1);var div2 document.getElementById(div2);var div3 document.getElementById(div3);div1.addEventListener(click, f1, true);div2.addEventListener(click, f1, true);div3.addEventListener(click, f1, true);function f1(){console.log(this.id)}element.addEventListener(event, function, useCapture)addEventListener方法用来为一个特定的元素绑定一个事件处理函数是JavaScript中的常用方法其传入三个参数分别是‘没有on的事件类型’‘事件处理函数’‘控制事件阶段’第三个参数是boolean类型默认是false表示在事件冒泡的阶段调用事件处理函数像上图中传入true就表示在事件捕获的阶段调用事件处理函数。 结果如下 这就是事件捕获。 三、阻止事件冒泡 ① e.stopPropagation() 先前案例的代码如下 var div1 document.getElementById(div1);var div2 document.getElementById(div2);var div3 document.getElementById(div3);div1.onclick function () {console.log(this.id);};div2.onclick function () {console.log(this.id);};div3.onclick function (e) {console.log(this.id);e.stopPropagation();};结果如下图 ② window.event.cancelBubble true 谷歌IE8兼容火狐不支持 代码如下 var div1 document.getElementById(div1);var div2 document.getElementById(div2);var div3 document.getElementById(div3);div1.onclick function () {console.log(this.id);};div2.onclick function () {console.log(this.id);};div3.onclick function () {console.log(this.id);window.event.cancelBubble true;};③ 合并取消return false 在javascript的return false只会阻止默认行为而是用jQuery的话则既阻止默认行为又防止对象冒泡。 问题为什么会在前端加入冒泡事件这种机制,是出于什么问题才考虑加入这样一种机制 答加入冒泡机制是因为存在这个现象子元素存在于父级元素中点击子元素也是相当于点击了父元素冒泡机制可用于事件委托优化性能比如长列表绑定事件如上所说的长列表绑定笨的做法每个li上绑定事件li触发事件如果1kw条数据这种做法肯定是不科学的。所以优化性能的时候将事件绑定在ul上加入冒泡机制代码量变少、性能又好
http://www.dnsts.com.cn/news/262139.html

相关文章:

  • 网站建设及维护专业珠海企业网站设计公司
  • 重庆博建设计院公司是网站wordpress插件残留怎么删除
  • 推广网站的几种方法如何办网站 论坛
  • 做股权众筹的网站怎么优化网站源码关键词
  • 网站项目开发建设合同阿里云除了做网站还能用来干什么
  • 模板网站怎么做卖网站海外推广
  • 做网站开发的流程集团网站建设服务平台
  • gta5单机买房子网站在建设兰州网站运营
  • 义乌个人兼职做建设网站广州番禺钟村
  • 美容类网站模版宠物店网页设计素材
  • 网站后台拿shellwordpress文章部分显示
  • 怀化网站优化公司哪家好微信公众帐号平台官网
  • 24小时学会网站建设pdf用php做网站后台
  • 网站维护一次一般要多久惠州网站搭建怎么做
  • 免费网站自助建站企业网站建设用语
  • 网站代码关键词标题网站性能优化
  • 北京专业制作网站公司wordpress动态页面 收录
  • 宿州网站建设价格上海营销型网站seo
  • 网站平台建设可行性中小学建设网站
  • 没有照片怎么做网站魏县做网站的
  • 怎么样再自己的网站做二级域名做新的网站seo
  • 两个男生如何做网站最基本最重要的网站推广工具是
  • 网页游戏网站排名服务器 网站 搬家
  • 网站建设前期分析的内容福州服务类网站建设
  • 东莞商城网站开发哪些网站可以做淘宝店招
  • 上海自助建站费用网推团队
  • 卖二手手表的网站玉溪网络推广 网站建设
  • 想自己做淘宝有什么网站建筑建设规范网站
  • 个人购买域名做企业网站甘肃机械化建设工程有限公司网站
  • 全能网站建设pdf电子商务网站建设与管理 总结