uni-app Android 端nvue页面点击事件穿透问题,冒泡事件未被阻止
uni-app Android 端nvue页面点击事件穿透问题,冒泡事件未被阻止
操作步骤:
- nvue 页面,点击view里面的button,或者其他标签绑定的事件
预期结果:
- 只触发点击到的标签绑定的事件
实际结果:
- 既触发了点击标签的事件,又触发了父标签绑定的事件,其实就是事件冒泡了
bug描述:
- nvue页面中 @click.stop 不能阻止冒泡事件,父标签view有一个点击事件,里面的一个子标签button也有一个点击事件,点击button绑定的事件会冒泡到父标签的事件上,实际就是触发了两个事件了
相关链接:
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Mac | 10.15.5 (19F101) | HBuilderX |
3.1.9 | ||
Android | Android 10 | |
小米 | MIX 3 |
更多关于uni-app Android 端nvue页面点击事件穿透问题,冒泡事件未被阻止的实战教程也可以访问 https://www.itying.com/category-93-b0.html
Android 端nvue页面点击事件穿透问题,修复了吗?我map地图上,弹框touch事件,下层地图移动。。。
更多关于uni-app Android 端nvue页面点击事件穿透问题,冒泡事件未被阻止的实战教程也可以访问 https://www.itying.com/category-93-b0.html
问题已确认,后续修复,先使用
event.stopPropagation()
已加分,感谢您的反馈!
还没修复?
还没修复吗?
还没修复吗?
还没修复吗?
还没修复吗?
还没修复吗?2024年1月3日, PM 02:09:43
也遇到了这个问题
【报Bug】app-nvue事件修饰符.stop无效
点击空白区域也穿透到下面一层页面的点击事件了
还没修复吗
我在nuve中同样遇到了,都这么久了还没修复呀!
同问,我也是
2023年7月26日
21年报的bug,23年还没修,都快24年了,真牛
24年了,这个bug还没修复
都快25年了 还是存在穿透问题
还没修复吗?
在 uni-app 的 nvue 页面中,事件冒泡机制与普通 vue 页面有所不同。nvue 基于原生渲染,其事件系统不完全遵循 Web 标准,因此 @click.stop
可能无法有效阻止事件冒泡。
解决方案:
- 使用
[@tap](/user/tap)
替代@click
:nvue 中推荐使用[@tap](/user/tap)
事件,它更符合移动端交互习惯,且支持事件修饰符。 - 通过逻辑判断阻止冒泡:在子组件事件处理函数中调用
event.stopPropagation()
(若支持),或在父组件事件中通过条件判断避免重复触发。 - 检查事件绑定层级:确保没有嵌套元素的事件监听器意外触发,必要时调整结构或使用透明遮罩隔离点击区域。
示例代码:
<view [@tap](/user/tap)="handleParentTap">
<button [@tap](/user/tap).stop="handleButtonTap">按钮</button>
</view>