用原生js开发的时候遇到的一个坑

使用场景是当在一个列表元素上循环绑定点击事件之前,先给每个元素自定义添加了一个属性index 如图

 当用户点击时我需要根据自定义的index属性获取用户当前点击的是那一个元素,如果点击元素内部无子元素本没有问题,因为我是从e.target上获取当前点击元素的属性值的

但是当列表有子元素时就出现问题了,因为当用户点击在子元素上时e.target的指向变为了子元素而不是绑定事件的元素本身,但是我们子元素上并没绑定自定义属性所以会获取失败

解决办法如图

 

绑定自定义属性时给子元素一起绑定,问题解决了,暂时不知道有没有更好的办法(项目为纯原生项目,没有使用任何框架,包括jq)

 

posted @ 2020-12-11 15:39  飓风~~  阅读(107)  评论(0编辑  收藏  举报