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

国内网站开发不用wordpresswordpress 下载管理

国内网站开发不用wordpress,wordpress 下载管理,自己电脑做网站主机,网站开发职业工资文章简介 本篇文章为【JavaScript 漫游】专栏的第 022 篇文章#xff0c;对 JavaScript 中事件模型相关的知识点进行了总结。 监听函数 浏览器的事件模型#xff0c;就是通过监听函数#xff08;listener#xff09;对事件做出反应。事件发生后#xff0c;浏览器监听到… 文章简介 本篇文章为【JavaScript 漫游】专栏的第 022 篇文章对 JavaScript 中事件模型相关的知识点进行了总结。 监听函数 浏览器的事件模型就是通过监听函数listener对事件做出反应。事件发生后浏览器监听到了这个事件就会执行对应的监听函数。这是事件驱动编程模式event-driven的主要编程方式。 JavaScript 有三种方法可以为事件绑定监听函数。 HTML 的 on- 属性元素节点的事件属性EventTarget.addEventListener() HTML 的 on- 属性 HTML 语言允许在元素的属性中直接定义某些事件的监听代码。 body onloaddoSomething() div onclickconsole.log(触发事件)注意这些属性的值是将会执行的代码而不是一个函数。 !-- 正确 -- body onloaddoSomething()!-- 错误 -- body onloaddoSomething一旦指定的事件发生on- 属性的值是原样传入 JavaScript 引擎执行。因此如果要执行函数不要忘记加上一对圆括号。 使用这个方法指定的监听代码只会在冒泡阶段触发。 div onclickconsole.log(2)button onclickconsole.log(1)点击/button /div直接设置 on- 属性与通过元素节点的 setAttribute() 设置 on- 属性效果是一样的。 el.setAttribute(onclick, doSomething()); // 等同于 // Element οnclickdoSomething()元素节点的事件属性 元素节点对象的事件属性同样可以指定监听函数。 window.onload doSomething;div.onclick function (event) {console.log(触发事件); };使用这个方法指定的监听函数也是只会在冒泡阶段触发。 它和 HTML 的 on- 属性的差异是它的值是函数名 doSomething而不像后者必须给出完整的监听代码 doSomething()。 EventTarget.addEventListener() 所有 DOM 节点实例都有 addEventListener()用来为该节点定义事件的监听函数。 window.addEventListener(load, doSomething, false);小结 上面三种方法第一种“HTML 的 on- 属性”违反了 HTML 与 JavaScript 代码相分离的原则将两者写在一起不利于代码分工因此不推荐使用。 第二种“元素节点的事件属性”的缺点在于同一个事件只能定义一个监听函数也就是说如果定义两次 onclick 属性后一次定义会覆盖前一次。因此也不推荐使用。 第三种 EventTarget.addEventListener() 是推荐的指定监听函数的方法。它有如下优点 同一个事件可以添加多个监听函数能够指定在哪个阶段捕获阶段还是冒泡阶段触发监听函数除了 DOM 节点其他对象比如 window、XMLHttpRequest 等也有这个接口它等于是整个 JavaScript 统一的监听函数接口。 this 的指向 监听函数内部的 this 指向触发事件的那个元素节点。 事件的传播 一个事件发生后会在子元素和父元素之间传播propagation。这种传播分成三个阶段。 第一阶段从 window 对象传导到目标节点上层传导底层称为捕获阶段capture phase第二阶段在目标节点上触发称为目标阶段target phase第三阶段从目标节点传导回 window 对象从底层传回上层称为冒泡阶段bubbling phase 这种三阶段的传播模型使得同一个事件会在多个节点上触发。 divp点击/p /div事件的代理 由于事件会在冒泡阶段向上传播到父节点因此可以把子节点的监听函数定义在父节点上由父节点的监听函数统一处理多个子元素的事件。这种方法叫做事件的代理delegation。 var ul document.querySelector(ul);ul.addEventListener(click, function (event) {if (event.target.tagName.toLowerCase() li) {// some code} });如果希望事件到某个节点为止不再传播可以使用事件对象的 stopPropgation 方法。 // 事件传播到 p 元素后就不再向下传播了 p.addEventListener(click, function (event) {event.stopPropagation(); }, true);// 事件冒泡到 p 元素后就不再向上冒泡了 p.addEventListener(click, function (event) {event.stopPropagation(); }, false);stopPropgation 方法只会阻止事件的传播不会阻止该事件触发 p 节点的其他 click 事件的监听函数。也就是说不是彻底取消 click 事件。 p.addEventListener(click, function (event) {event.stopPropagation();console.log(1); });p.addEventListener(click, function(event) {// 会触发console.log(2); });如果想要彻底取消该事件不再触发后面所有 click 的监听函数可以使用 stopImmediatePropgation 方法。 p.addEventListener(click, function (event) {event.stopImmediatePropagation();console.log(1); });p.addEventListener(click, function(event) {// 不会被触发console.log(2); });
http://www.pierceye.com/news/528068/

相关文章:

  • 扁平化色块风格的网站企业网站建设客户需求调查问卷
  • 网站建设产品服务痘痘如何去除效果好
  • 展会电子商务网站如何建设单页网站如何做
  • 济南软件外包邢台seo服务公司
  • 网站建设2017主流代码语言垂直型电商网站如何做
  • 重庆 网站定制推广产品怎么发朋友圈
  • 网站建设公司初心经典企业网站欣赏
  • 本地网站开发公司网站建设 产品拍照
  • 军队营房基础建设网站wordpress 标签云集
  • 苏州建设建设信息网站如何给自己的店做小程序
  • 沈阳微营销网站制作厨师培训机构 厨师短期培训班
  • 个人备案用作资讯网站网站开发yuanmus
  • 大连网站建设 选领超科技网站建设实录音乐
  • 上海网站建设流wordpress关闭会员
  • 网站运营的目的及意义pc网站怎么适配移动端
  • 网站深圳优化建设10月上海娱乐场所又要关门了
  • 怎么做网页文件打开别的网站河南省城乡和住房建设厅
  • 泰州公司做网站成都网页设计培训中心
  • 网站业务需求文档网站正在建设中 动态
  • 一级a做爰电影片免费网站姑苏区住房建设局网站
  • 宁夏建设教育协会网站医院网站跳出率高
  • 网站建设佰首选金手指二关于网站建设的职位
  • 网站建设公司商务网站项目书中堂东莞网站建设
  • 欧美品牌网站设计wordpress好用的文章编辑器
  • 长春网站建设q479185700強wordpress数学公式的代码
  • 郑州软件app开发公司嘉兴优化网站排名
  • 可以建微信网站的做网站的项目开发计划书
  • 湖北网站建设模板下载太原线上教学
  • 西宁网站建设开发公司开发网站监控工具
  • 外贸网站优势杭州百度快速排名提升