触摸事件的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
相关问题
鸿蒙事件拦截分发处理
10337浏览 • 2回复 待解决
如何阻止Flex容器鼠标事件穿透
1920浏览 • 1回复 待解决
事件分发冲突问题,如何解决?
273浏览 • 1回复 待解决
求大佬告知如何屏蔽触摸事件
628浏览 • 1回复 待解决
鸿蒙响应屏幕触摸事件如何获取?
7348浏览 • 1回复 已解决
有谁知道如何屏蔽触摸事件
1669浏览 • 1回复 待解决
HarmonyOS 无法接收事件
178浏览 • 1回复 待解决
HarmonyOS ImageSpan点击事件无法触发
345浏览 • 1回复 待解决
Image组件无法设置长按事件
1710浏览 • 1回复 待解决
js开发wearable onswipe事件无法触发
7694浏览 • 1回复 已解决