HarmonyOS鸿蒙Next中触摸事件的TouchEvent调用stopPropagation时无法阻止事件分发
HarmonyOS鸿蒙Next中触摸事件的TouchEvent调用stopPropagation时无法阻止事件分发 问题描述
Button嵌套Button时,外部调用stopPropagation没有阻止内部Button触发onTouch事件。
Button() {
Button()
.onTouch(xx)
}
.onTouch((event: TouchEvent) => {
// 没有阻止内部的button触发onTouch事件
event.stopPropagation();
})
解决措施
stopPropagation是阻止事件冒泡,事件冒泡是从里到外触发的,所以给外层按钮设置无效,如果想给外层按钮设置属性从而阻止里层按钮触发触摸事件,可以给外层按钮添加.hitTestBehavior(HitTestMode.Block)。
参考链接
更多关于HarmonyOS鸿蒙Next中触摸事件的TouchEvent调用stopPropagation时无法阻止事件分发的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS鸿蒙Next中触摸事件的TouchEvent调用stopPropagation时无法阻止事件分发的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,TouchEvent
的stopPropagation
方法用于阻止事件继续向上冒泡,但无法阻止事件在捕获阶段的分发。如果你需要完全阻止事件的分发,可以结合stopImmediatePropagation
方法使用,或者在事件处理函数中直接返回true
,表示事件已被处理且不再继续分发。此外,确保事件处理逻辑正确,避免因事件处理顺序问题导致stopPropagation
失效。