国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

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

2024-05-06 16:38:37
字體:
來源:轉載
供稿:網友

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

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

  具體小案例如下:  

<!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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荆门市| 扶沟县| 句容市| 桐乡市| 梨树县| 方城县| 广丰县| 台州市| 丰原市| 丹阳市| 临桂县| 芮城县| 泸州市| 阿拉善盟| 独山县| 长乐市| 梁平县| 库尔勒市| 章丘市| 都安| 凤城市| 大洼县| 波密县| 交口县| 衡水市| 拜泉县| 互助| 横山县| 资溪县| 维西| 于都县| 宣武区| 五华县| 阿勒泰市| 名山县| 错那县| 墨竹工卡县| 大余县| 苏尼特左旗| 九台市| 专栏|