想问下这个e.target的问题

重新想了想这个问题,发现如果两个框子有部分重叠,然后我点击了重叠的部分的话,根本不好判断到底应该点击的是那个,感觉这个不是程序上的事情了

image.png
我这个三个框子看着是一个大的包住了两个小的,但是在div里面这三个元素的顺序是同级的,并且大的在两个小框子的下面image.png
这就导致了我鼠标点击小框子的时候,实际选中的是大框子,我现在需要点击框子删除他,这就导致了我点的是小的却把大的删了,请问这个有什么解决办法吗

阅读 1.9k
3 个回答

虽然3个框的代码是同级的,但是它们都设置了定位,所以大框会在小框上面。
给大框设置点击穿透pointer-events: none;

同级的“框”, 鼠标点击时这个落点同时hit到多个不同的“框”, 该选哪一个“框”呢?
你应该先把这个业务逻辑理清楚,这压根不是程序的事

我也遇到这个问题了,换个思路就很好解决了。
点击之后你肯定要标记的,所以如果用户再次单击的时候换下一个就好了,毕竟我们猜不出用户想点谁。
用户点击后根据位置获取一个匹配图形的集合,由于图形是按顺序绘制的,所以区域匹配后得到的目标集合是有序的,如果目标集合中有被标记为选中的,那么解除该图形选中并查找下一个,如果有就令下一个选中,如果没有下一个就令第一个选中。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题