HarmonyOS鸿蒙Next中【快应用】小程序转快应用如何阻止事件向上冒泡
HarmonyOS鸿蒙Next中【快应用】小程序转快应用如何阻止事件向上冒泡
问题背景: 小程序转快应用,在快应用中使用view标签包裹两层,在每层都写了一个点击事件,在点击最里面的一个button按钮的时候会触发所有view标签上绑定的点击事件,该如何处理才能只触发一个button按钮的事件呢?
相关代码:
<view class="container" bindtap="handleTap1">
<view class="loginstyle" bindtap="handleTap2">
<button class="btn" catchtap="handleTap3">测试</button>
</view>
</view>
原因及解决方案: bind 事件绑定不会阻止冒泡事件向上冒泡,所以在点击最里面的一个层级后,会触发所有的事件,要想只触发对应的事件可以使用catch事件绑定来阻止向上冒泡。
相关代码:
<view class="container" bindtap="handleTap1">
<view class="loginstyle" bindtap="handleTap2">
<button class="btn" catchtap="handleTap3">测试</button>
</view>
</view>
更多关于HarmonyOS鸿蒙Next中【快应用】小程序转快应用如何阻止事件向上冒泡的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于HarmonyOS鸿蒙Next中【快应用】小程序转快应用如何阻止事件向上冒泡的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,快应用开发中阻止事件冒泡可以通过在事件处理函数中调用event.stopPropagation()
方法来实现。例如,在点击事件中,可以在事件处理函数内添加event.stopPropagation()
,这样事件就不会继续向上冒泡到父组件。示例代码如下:
{
handleClick(event) {
event.stopPropagation(); // 阻止事件冒泡
// 其他处理逻辑
}
}