最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年07月25日 09:35:56   作者:diasa  
這篇文章主要為大家分享了js事件委托和事件代理案例,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

  利用事件的冒泡傳播機(jī)制(觸發(fā)當(dāng)前元素的某一個行為,它父級所有元素的相關(guān)行為都會被觸發(fā)),如果一個容器中有很多元素都要綁定點(diǎn)擊事件,我們沒有必要一個個的綁定了,只需要給最外層容器綁定一個點(diǎn)擊事件即可,在這個方法執(zhí)行的時候,通過事件源的區(qū)分來進(jìn)行不同的操作。

  具體小案例如下:  

<!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'>  
      查看購物車的詳細(xì)信息
    </div>
  </div>

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

      //如果點(diǎn)擊的是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,不進(jìn)行任何的操作
      if(e.target.id==="mark"){
        return;
      }
      mark.style.display === "none"
    }
  </script>
</body>
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解用js代碼觸發(fā)dom事件的實現(xiàn)方案

    詳解用js代碼觸發(fā)dom事件的實現(xiàn)方案

    這篇文章主要介紹了詳解用js代碼觸發(fā)dom事件的實現(xiàn)方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • javascript hashtable 修正版 下載

    javascript hashtable 修正版 下載

    javascript hashtable 修正版 hashtable hashset 下載,需要的朋友可以收藏下。
    2010-12-12
  • 第一次接觸神奇的Bootstrap

    第一次接觸神奇的Bootstrap

    第一次接觸神奇的Bootstrap,Bootstrap提供了用戶友好、擴(kuò)瀏覽器的解決方案,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 基于JavaScript實現(xiàn)多級菜單效果

    基于JavaScript實現(xiàn)多級菜單效果

    這篇文章主要為大家詳細(xì)介紹了基于JavaScript實現(xiàn)多級菜單效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • webpack4.0+vue2.0利用批處理生成前端單頁或多頁應(yīng)用的方法

    webpack4.0+vue2.0利用批處理生成前端單頁或多頁應(yīng)用的方法

    這篇文章主要介紹了webpack4.0+vue2.0利用批處理生成前端單頁或多頁應(yīng)用的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 關(guān)于js內(nèi)存泄露的一個好例子

    關(guān)于js內(nèi)存泄露的一個好例子

    這篇文章主要介紹了關(guān)于js內(nèi)存泄露的一個好例子。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • 詳解在Javascript中進(jìn)行面向切面編程

    詳解在Javascript中進(jìn)行面向切面編程

    這篇文章主要介紹了Javascript面向切面編程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • js實現(xiàn)同一頁面多個不同運(yùn)動效果的方法

    js實現(xiàn)同一頁面多個不同運(yùn)動效果的方法

    這篇文章主要介紹了js實現(xiàn)同一頁面多個不同運(yùn)動效果的方法,涉及javascript同時實現(xiàn)多個效果的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • JS實現(xiàn)table表格固定表頭且表頭隨橫向滾動而滾動

    JS實現(xiàn)table表格固定表頭且表頭隨橫向滾動而滾動

    這篇文章主要介紹了JS實現(xiàn)table表格固定表頭且表頭可以隨橫向滾動而滾動,需要的朋友可以參考下
    2017-10-10
  • 淺析js實現(xiàn)網(wǎng)頁截圖的兩種方式

    淺析js實現(xiàn)網(wǎng)頁截圖的兩種方式

    這篇文章主要介紹了淺析js實現(xiàn)網(wǎng)頁截圖的兩種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論

乡宁县| 延寿县| 遵化市| 秀山| 康保县| 长岭县| 仙居县| 黑河市| 卢湾区| 咸丰县| 光泽县| 睢宁县| 梅河口市| 冕宁县| 开原市| 饶河县| 泾川县| 海口市| 遵化市| 五大连池市| 彭州市| 鄄城县| 仪征市| 平顶山市| 津市市| 伊宁县| 邹平县| 玛纳斯县| 沂水县| 环江| 承德县| 兴海县| 凌源市| 图片| 五寨县| 桃园县| 色达县| 西藏| 霍林郭勒市| 正镶白旗| 吉隆县|