全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

js事件委托和事件代理案例分享

什么是事件委托/事件代理

  利用事件的冒泡传播机制(触发当前元素的某一个行为,它父级所有元素的相关行为都会被触发),如果一个容器中有很多元素都要绑定点击事件,我们没有必要一个个的绑定了,只需要给最外层容器绑定一个点击事件即可,在这个方法执行的时候,通过事件源的区分来进行不同的操作。

  具体小案例如下:  

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    *{
      margin:0;
      padding:0;
      font-size:14px;
    }
    html,body{
      width:100%;
      height:100%;
      overflow:hidden;
    }
    #box{
      position:absolute;
      left:50%;
      top:50px;
      width:100px;
      height:30px;
      margin-left:-50px;
      line-height:30px;
      text-align:center;
      border:1px solid #2489cc;
    }
    #mark{
      position:absolute;
      top:30px;
      left:-1px;
      width:300px;
      height:100px;
      line-height:100px;
      text-align:center;
      background:#ffe470;
      border:1px solid #2489cc;
    }
  </style>
</head>
<body>
  <div id='box'>
    <span>购物车</span>
    <div id="mark" style='display:none'>  
      查看购物车的详细信息
    </div>
  </div>

  <script> 
    var mark = document.getElementById('mark');
    document.body.onclick = function(e){
      e = e || window.event;
      e.target = e.target || e.srcElement;

      //如果点击的是box或者是#box下的span,我们判断mark是否显示,显示让其隐藏,反之让其显示
      if(e.target.id==="box" || (e.target.tagName.toLowerCase()==="span" && e.target.parentNode.id==='box')){
        if(mark.style.display === "none"){
          mark.style.display === "block"
        }else{
          mark.style.display === "none"
        }
        return;
      }
      //如果事件源是#mark,不进行任何的操作
      if(e.target.id==="mark"){
        return;
      }
      mark.style.display === "none"
    }
  </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # 事件委托  # 事件代理  # js中的事件委托或是事件代理使用详解  # JS事件处理机制及事件代理(事件委托)实例详解  # JS 事件绑定、事件监听、事件委托详细介绍  # javascript事件委托的方式绑定详解  # JavaScript中的事件委托及好处  # JavaScript动态添加事件之事件委托  # JavaScript事件委托(事件代理)举例详解  # 购物车  # 绑定  # 让其  # 的是  # 在这个  # 都要  # 中有  # 只需  # 或者是  # 要给  # 定了  # 大家多多  # 最外层  # 没有必要  # font  # size  # Document  # padding  # title  # style 


相关文章: ,购物网站怎么盈利呢?  股票网站制作软件,网上股票怎么开户?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何高效利用200m空间完成建站?  公司网站的制作公司,企业网站制作基本流程有哪些?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  网站制作公司排行榜,抖音怎样做个人官方网站  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  免费视频制作网站,更新又快又好的免费电影网站?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  建站之星伪静态规则如何正确配置?  如何设计高效校园网站?  海南网站制作公司有哪些,海口网是哪家的?  如何在宝塔面板创建新站点?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  建站之星安装路径如何正确选择及配置?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  建站之星客服服务时间及联系方式如何?  购物网站制作公司有哪些,哪个购物网站比较好?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  建站之星2.7模板快速切换与批量管理功能操作指南  javascript基本数据类型及类型检测常用方法小结  如何快速上传自定义模板至建站之星?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  如何用PHP快速搭建高效网站?分步指南  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  如何快速打造个性化非模板自助建站?  如何安全更换建站之星模板并保留数据?  家庭建站与云服务器建站,如何选择更优?  广德云建站网站建设方案与建站流程优化指南  大连网站制作公司哪家好一点,大连买房网站哪个好?  整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?  如何挑选优质建站一级代理提升网站排名?  如何选择适配移动端的WAP自助建站平台?  太原网站制作公司有哪些,网约车营运证查询官网?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  怎么将XML数据可视化 D3.js加载XML  江苏网站制作公司有哪些,江苏书法考级官方网站?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  宝塔新建站点报错如何解决?  建站之星如何修改网站生成路径?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  建站之星免费模板:自助建站系统与智能响应式一键生成  c# 在ASP.NET Core中管理和取消后台任务  如何快速完成中国万网建站详细流程?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  定制建站哪家更专业可靠?推荐榜单揭晓 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。