JS事件委托

作者: 饥人谷__陈俊豪 | 来源:发表于2017-04-24 16:18 被阅读0次

一、事件委托有三种方法

  1. <button onclock="alert("hello world")">点击</button>
  2. btn.onclick = function(){...}
  3. btn.addEventListener(click,function(){})

这里主要讲第3种,前两种会存在代码重复,当有多个以上就会无法同时展示出来

HTML

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <style>
    li{border:1px solid}
  </style>
</head>
<body>
<ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
</ul>
  <button class="btn1">添加</button>
  <button class="btn2">删除</button>
</body>
</html>
  var btn1 = document.querySelector('.btn1')
   var btn2 = document.querySelector('.btn2')
   var ul = document.querySelector('ul')
   var lis = document.querySelectorAll('li')
   var lisL = lis.length
   var liContent = ["11","22","33","44","55"]  
   var index = 0
   
   // 添加li
   btn1.addEventListener('click',function(){
     
      console.log(index)
     if(index<liContent.length){ 
       
       let li = document.createElement('li')
       li.textContent = liContent[index]
       ul.appendChild(li)
       index+=1
     }
     else if(index ==liContent.length){
       return index = 0
     }
     
   })
      
   
   // 删除最后li
   btn2.addEventListener('click',function(){     
     ul.removeChild(ul.lastChild)   
   })
   

   // 监听每一个li,当点击其中的li,打印出里面的Text
    ul.addEventListener('click',function(e){
      console.log(e.target.innerHTML)
    })
       

demo展示

相关文章

  • web前端面试题@六(事件委托)

    *说到事件委托,我们首先先要知道什么是事件委托—— · 那么什么是事件委托呢??? JS里的事件委托就是当事件...

  • JS写事件代理

    js中的事件委托或是事件代理详解

  • 事件委托

    事件委托 事件委托其实就是利用JS事件冒泡机制把原本需要绑定在子元素的响应事件(click、keydown……)委...

  • js事件委托

    通过构建父元素和子元素,来控制事件。 先通过html构建父元素div,并嵌套一个子元素div,写入不同的方法,设置...

  • js事件委托

    事件委托:1、缘由在做一个项目,点击按钮出现蒙版,但是触发蒙版关闭蒙版,但是给蒙版添加点击事件的话,蒙版上的按钮也...

  • js事件委托

    我们收取快递有两种方法:一是在特定的地点等快递的到来,二是委托人代收。现实当中,我们大都采用委托的方案。而委托人接...

  • JS事件委托

    一、事件委托有三种方法 点击 btn.onclick = function(){...} btn.addEvent...

  • js事件委托

    前言 事件委托,也叫事件代理,是js事件中的一种常用技巧。事件委托的原理就是利用冒泡事件的机制,为一些节点的祖先节...

  • js事件委托

    定义:通俗的讲,事件就是onclick,onmouseover,onmouseout等就是事件,委托呢,就是让别人...

  • JS事件委托

    事件委托从字面意思上理解就是把事件委托给别人做。这样有什么好处呢?设想一下,一个ul里有很多li,现在要给每一个l...

网友评论

    本文标题:JS事件委托

    本文链接:https://www.haomeiwen.com/subject/bloyzttx.html