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

专业的营销型网站企业文化成都seo专家

专业的营销型网站企业文化,成都seo专家,数字创意设计包括哪些行业,重庆网站建设套餐事件的三个阶段:捕获阶段 目标阶段 冒泡阶段 编辑 删除 js有好多的知识需要不断积累,但是不能浅尝,应该深究其内因,并运用在日常开发过程中。 捕获阶段: 事件从根节点流向目标节点,途中流经各个DOM节点&…

事件的三个阶段:捕获阶段 目标阶段 冒泡阶段

           
  • 编辑
  • 删除

js有好多的知识需要不断积累,但是不能浅尝,应该深究其内因,并运用在日常开发过程中。

  1. 捕获阶段:

    事件从根节点流向目标节点,途中流经各个DOM节点,在各个节点上触发捕获事件,直到达到目标节点。

    那么捕获阶段有什么用吗?完全可以没有捕获阶段也可以啊?

    捕获阶段的主要任务是建立传播路经,在冒泡阶段根据这个路经回溯到文档根节点

  2. 目标阶段
    事件到达目标节点时,就到了目标阶段,事件在目标节点上被触发

  3. 冒泡阶段
    事件在目标节点上触发后,不会终止,一层层向上冒,回溯到根节点。

  4. 运用举例:

    html代码

      <div class="a"><li class="b"><a href="#" class="c">buhuo</a></li></div>

    js代码

    var div = document.getElementsByClassName('a')[0];    //注意[0]
    var li = document.getElementsByClassName('b')[0];
    var a = document.getElementsByClassName('c')[0];//第三个参数默认是false,
    //是对事件冒泡过程添加函数进行处理
    div.addEventListener('click',function(event){console.log('div');
    });
    li.addEventListener('click',function(event){console.log('li');
    });
    a.addEventListener('click',function(event){console.log('a');
    });//事件捕获过程处理
    //第三个参数设为true
    div.addEventListener('click',function(event){console.log('div');
    },true);
    li.addEventListener('click',function(event){console.log('li');
    },true);
    a.addEventListener('click',function(event){console.log('a');
    },true);

    运行结果
    div
    li
    a
    a
    li
    div

    可知:首先是捕获阶段执行,再是冒泡阶段

  5. 运用在事件委托上
    JavaScript事件代理可以把事件处理器添加到一个父元素上,这样就避免了把事件处理器添加到多个子元素上。

  6. 阻止事件冒泡

    某个DOM节点绑定了某事件监听器,本来是想当该DOM节点触发事件,才会执行回调函数。结果是该节点的某后代节点触发某事件,由于事件冒泡,该DOM节点事件也会触发,执行了回调函数,这样就违背了最初的本意了。

    html

    <!-- 阻止事件冒泡 --><li class="aa"><a href="#" class="bb">阻止事件冒泡</a><a href="#" class="cc">cc</a></li>

    js

    var li1 = document.getElementsByClassName('aa')[0];
    li1.addEventListener('click',function(event){if(event.target.tagName.toLowerCase() === 'li'){console.log(event.target);}console.log(event.currentTarget);  //监听节点
    })
    for(var i=0;i<li1.children.length;i++){li1.children[i].addEventListener('click',function(event){event.stopPropagation();  //在子元素上阻止冒泡})
    }

    结果
    点击a标签时,没有任何反应,当点击li标签时,会输出对象

    注意:
    无法在捕获阶段阻止事件冒泡
    所以当上述代码加上true后,达不到效果

http://www.shuangfujiaoyu.com/news/53869.html

相关文章:

  • 龙华做网站的公司成都网站seo技巧
  • 展览设计网站有哪些吉林网络seo
  • 设计师找灵感的网站淘宝搜索关键词技巧
  • 做网站就业要会什么抄一则新闻四年级
  • wordpress主题显示不了aso优化的主要内容为
  • 大连市营商环境建设监督局网站软文推广文案范文
  • 寻找做电影网站团队合作外链群发软件
  • 陕西省住房和城乡建设厅网站上查询重庆网络推广公司
  • 代替wordpress西安优化网站公司
  • 网站首页psd格式怎么做站长之家查询的网址
  • 做汽车团购网站单页网站
  • 怎么做跟别人一样的网站百度关键词排名批量查询工具
  • 什么行业做网站合适google优化推广
  • 通过门户网站做单点登录SAP株洲seo推广
  • 北京网站设计技术乐云seo浏览器打开
  • 创建网站用突唯阿做响应式网站百度怎么发自己的小广告
  • 网站建设网页设计培训班国产搜什么关键词最好看
  • 做外贸最好的网站30个免费货源网站
  • 网站需要收集什么建站资源深圳电子网络推广查询
  • 网站建设教程搭建国外引流推广软件
  • 山东青岛网站建设公司哪家专业短视频seo排名系统
  • 家具类网站如何优化最新军事消息
  • 校园网站方案百度快照是啥
  • 怎么编写一个网页武汉seo培训
  • 昆明网站seo诊断广告推广投放平台
  • 建设制作外贸网站的公司湖北网络推广seo
  • 贵阳做网站做得好的长沙网站制作推广
  • 网站付款接口这么做百度推广一年多少钱
  • 网站投票系统 js360优化关键词
  • 抚顺您做煮火锅网站新手电商运营从哪开始学