uni-app ios平台上 页面存在video标签时 其他点击事件无效

uni-app ios平台上 页面存在video标签时 其他点击事件无效

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

操作步骤:

静态页面, 页面上有video 标签, 页面其他地方的 点击事件无效

预期结果:

其他地方的点击事件能够生效

实际结果:

其他地方的点击事件能够捕获不到

bug描述:

【报Bug】ios 如果页面上有video 标签, 页面其他地方的 点击事件无效

3 回复

如果装video 标签的盒子 position: fixed; 就会出现这个问题

更多关于uni-app ios平台上 页面存在video标签时 其他点击事件无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


mescroll-body 组件冲突了

这是一个在iOS平台上已知的兼容性问题,主要由于iOS系统对视频播放控件的默认行为导致。

问题原因: iOS系统中的video元素会默认启用内联播放,但系统会捕获部分触摸事件用于视频控制。当页面存在video标签时,iOS可能会将某些点击事件优先传递给视频组件,导致其他元素的点击事件无法正常触发。

解决方案:

  1. 为video标签添加playsinline属性
<video src="..." playsinline></video>

这个属性可以确保视频在iOS上以内联方式播放,减少系统对事件捕获的干扰。

  1. 使用CSS重置视频样式
video {
  object-fit: fill;
  pointer-events: auto;
}
  1. 检查事件绑定方式 确保使用@tap而不是@click,因为uni-app在移动端推荐使用@tap事件:
<view [@tap](/user/tap)="handleTap">点击区域</view>
回到顶部