子元素和父元素完全重叠时,怎么处理事件。

zhtoad 2021-04-18 01:36:01
各位,我把一个div做成容器,里面放canvas,两个的位置size都一样
我希望拖动 div。当然canvas是有事件的。
我希望canvas不处理事件,只div处理事件,也就是只拖动div,
结果canvas被拖动了,div没有被拖动。

我自己的设计是。 div的所有chiildren unbind了鼠标事件。
结果发现div的 onmousemove 被调用了。
但是e.target却是canvas。
这都乱了。
请问改怎么解决这个问题。

子元素和父元素 完全重叠,让子元素忽略事件,父元素处理事件。父:div, 子:canvas
...全文
236 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhtoad 2021-04-19
  • 打赏
  • 举报
回复
可以设置canvas不响应拖动事件 方法是 unbind 吗??? 具体方法是啥,谢谢。
文盲老顾 2021-04-19
  • 打赏
  • 举报
回复
元素重叠的时候,js处理事件的机制是冒泡机制,当前对象为最外层对象,你的例子中为canvas,然后,如果事件未阻止冒泡,则向上继续触发同样的事件 如果你确定canvas中的元素不能被拖动,可以设置canvas不响应拖动事件,但不阻止冒泡,为实际测试,只是一个思路

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧