如何拦截onTouch事件传递

当父组件绑定了onTouch,其子组件Button绑定了onClick,如何做到点击Button只响应Button的onClick,而不用响应父组件的onTouch。

HarmonyOS
2024-06-11 23:22:15
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
rhlee

可以给父组件设置.hitTestBehavior(HitTestMode.none),父组件不响应onTouch事件,不影响子节点和兄弟节点。

代码示例:

@Entry 
@Component 
struct OnTouchDemo { 
  build() { 
    // outer stack 
    Stack() { 
      Button('outer button') 
        .margin({left : 200}) 
        .onTouch((event) => { 
          console.info('outer button touched type: ' + (event as TouchEvent).type) 
        }) 
      // inner stack 
      Stack() { 
        Button('inner button') 
          .onTouch((event) => { 
            console.info('inner button touched type: ' + (event as TouchEvent).type) 
          }) 
      } 
      .width("100%").height("100%") 
      .hitTestBehavior(HitTestMode.None) 
      .onTouch((event) => { 
        console.info('stack touched type: ' + (event as TouchEvent).type) 
      }) 
 
      Text('Transparent') 
        .hitTestBehavior(HitTestMode.Transparent) 
        .width("100%").height("100%") 
        .onTouch((event) => { 
          console.info('text touched type: ' + (event as TouchEvent).type) 
        }) 
    }.width(300).height(300) 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.

参考链接

hitTestBehavior对手势和事件的控制

分享
微博
QQ
微信
回复
2024-06-12 23:40:15


相关问题
HarmonyOS 事件拦截传递问题
283浏览 • 1回复 待解决
onTouch事件是否可以判断滑动方向
2505浏览 • 1回复 待解决
WebView goBack事件拦截
1430浏览 • 1回复 待解决
HarmonyOS如何拦截list的滑动事件
740浏览 • 1回复 待解决
HarmonyOS 子组件如何拦截触摸事件
462浏览 • 1回复 待解决
HarmonyOS RN如何拦截返回事件
293浏览 • 1回复 待解决
Slider拦截点击事件失败
571浏览 • 1回复 待解决
求大佬告知如何拦截子控件事件
1933浏览 • 1回复 待解决
HarmonyOS 拦截实体音量+-按键事件
413浏览 • 1回复 待解决
鸿蒙事件拦截分发处理
11234浏览 • 2回复 待解决
HarmonyOS UI组件事件拦截处理
674浏览 • 1回复 待解决
Hyperlink的onTouch预览报错
2598浏览 • 1回复 待解决
HarmonyOS Popup会拦截页面点击事件
293浏览 • 1回复 待解决
HarmonyOS 事件传递最佳实践咨询
591浏览 • 1回复 待解决
HarmonyOS点击事件传递响应问题
411浏览 • 1回复 待解决