下面是html 内容:

<ul id="oul">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul> <button id="btn">添加元素</button>

我需要给li 绑定事件,打印点击的内容

let oUl = document.getElementById('oul')
let lis = oUl.getElementsByTagName('li')
let btn = document.getElementById('btn') btn.onclick = function(){
let oLi = document.createElement('li');
oLi.innerHTML = lis.length+1
oUl.appendChild(oLi)
} oUl.onclick = function(event) {
var e = event || window.event;
console.log(e.target.innerHTML)
}

如果点击到正确的元素是不会出错的,但是一旦拖拽或者点到空白区域,就会打印全部元素

为了避免这个bug,只需要进行一个简单的判断target

oUl.onclick = function(event) {
var e = event || window.event;
// 判断点击的元素是不是代理元素
if(e.target == this){
return
}
console.log(e.target.innerHTML)
}

接下来再次测试:

最新文章

  1. Html5 设置菱形链接菜单
  2. location of the android sdk has not been setup in the preferences
  3. Python学习笔记(4):自定义时间类
  4. php基础21:上传文件
  5. linux上安装hadoop
  6. Chapter 4 持久存储数据对象
  7. SQL Server事务日志介绍
  8. 时间管理-SMART原则
  9. yarn队列提交spark任务权限控制
  10. LightOJ_1038 Race to 1 Again
  11. Contest 20140923 潛行世界 拓撲排序,期望
  12. 仿QQ好友列表界面的实现
  13. JavaScript总结之单击弹出div
  14. PHP面向对象基础实例
  15. java里,当long与上了int
  16. 解决SVG跨浏览器兼容性问题
  17. 李明杰的视频和李明杰的博客是学习OC的基础
  18. android学习——环境的搭建
  19. MicroPython开发之物联网快速开发板
  20. Winform开发框架之字段权限控制

热门文章

  1. hdu1003(C++)解法1
  2. C++测试题练习题1
  3. 在程序中使用NV 3D Vision 【转】
  4. struts2中迭代的使用方法
  5. struts2设置默认首页
  6. 关于Web项目的pom文件处理
  7. C#面试:抽象类与接口
  8. OSX:设置用户默认浏览器
  9. shell中sed命令
  10. 【Excle数据透视表】如何移动数据透视表的位置