事件委托

  1. const ul = document.querySelector('ul')
  2. ul.addEventListener('click'function(e){
  3. const target = e.target;
  4. if(targrt.tagName.toLowerCase() === 'li'){
  5. const liList = this.querySelectorAll(li) // liList不是真正的数组
  6. const index = Array.prototype.indexOf.call(liList,targrt);
  7. alert(`内容为${target.innerHTML},索引为${i}`);
  8. }
  9. })

一个历史页面,上面有十个点击逻辑,每个按钮都有自己的click事件
新需求:给每个访问用户添加一个属性,此用户点击页面上的任何按钮都要提示信息

  1. window.addEventListener('click',()=>{
  2. if(xxx){
  3. e.stopProgagtion();
  4. }
  5. },true)