触摸事件的TouchEvent调用stopPropagation时无法阻止事件分发

​Button嵌套Button时,外部调用stopPropagation没有阻止内部Button触发onTouch事件。

Button() { 
  Button() 
    .onTouch(xx) 
} 
.onTouch((event: TouchEvent) => { 
  // 没有阻止内部的button触发onTouch事件 
  event.stopPropagation(); 
})
HarmonyOS
2024-01-21 13:32:06
浏览
已于2024-1-22 15:39:18修改
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fifalv

stopPropagation是阻止事件冒泡,事件冒泡是从里到外触发的,所以给外层按钮设置无效,如果想给外层按钮设置属性从而阻止里层按钮触发触摸事件,可以给外层按钮添加.hitTestBehavior(HitTestMode.Block)。

参考链接

触摸测试控制

分享
微博
QQ
微信
回复
2024-01-22 15:37:20
相关问题
如何阻止Flex容器鼠标事件穿透
1871浏览 • 1回复 待解决
鸿蒙事件拦截分发处理
10244浏览 • 2回复 待解决
事件分发冲突问题,如何解决?
210浏览 • 1回复 待解决
鸿蒙响应屏幕触摸事件如何获取?
7278浏览 • 1回复 已解决
求大佬告知如何屏蔽触摸事件
590浏览 • 1回复 待解决
有谁知道如何屏蔽触摸事件
1616浏览 • 1回复 待解决
HarmonyOS 无法接收事件
130浏览 • 1回复 待解决
HarmonyOS ImageSpan点击事件无法触发
285浏览 • 1回复 待解决
Image组件无法设置长按事件
1660浏览 • 1回复 待解决
js开发wearable onswipe事件无法触发
7637浏览 • 1回复 已解决