在允许孩子捕捉触摸的同时防止父母被点击

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在允许孩子捕捉触摸的同时防止父母被点击相关的知识,希望对你有一定的参考价值。

react-native中,有时防止父母捕捉和处理触摸/点击事件同时允许其子女接收事件并做出反应是有用的。具体来说,这在使用<View/><ImageBackground/>容器时很有用,该容器充当其子元素的透明背景(例如:基于渐变的阴影或用于居中绝对定位元素的包装器视图)。

答案

React Native为pointerEvents元素提供<View/>道具,可以设置为'none'以停止对触摸和点击作出反应,但允许孩子仍然可触摸的技巧是将pointerEvents道具设置为'box-none'而不是'none'

警告:与常规CSS相比,pointerEvents是“prop”而不是样式。所以要使用它,你可以做到

<View style={styles.parentWithoutTouchEvents} pointerEvents='box-none'>
   <View style={styles.touchableChild}>
   </View>
</View>

以上是关于在允许孩子捕捉触摸的同时防止父母被点击的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法捕捉到父母发送的孩子的信号?

孩子们如何收听/捕捉父母的事件

Vue stopPropagation不工作 - 孩子到父母

从父母向孩子发送信号,反之亦然

防止孩子走丢,除了定位手机这些方法值得收藏

防止孩子增加父母的宽度[重复]