触摸事件的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
相关问题
鸿蒙事件拦截分发处理
9339浏览 • 2回复 待解决
如何阻止Flex容器鼠标事件穿透
835浏览 • 1回复 待解决
求大佬告知如何屏蔽触摸事件
380浏览 • 1回复 待解决
鸿蒙响应屏幕触摸事件如何获取?
6297浏览 • 1回复 已解决
有谁知道如何屏蔽触摸事件
663浏览 • 1回复 待解决
Image组件无法设置长按事件
806浏览 • 1回复 待解决
Tabs选项绑定onClick事件之后无法切换
882浏览 • 0回复 待解决
js开发wearable onswipe事件无法触发
6786浏览 • 1回复 已解决
焦点事件onBlur/onFocus回调无法触发
855浏览 • 1回复 待解决