uni-app image标签在IOS15微信H5中长按图片出现白色遮罩问题
uni-app image标签在IOS15微信H5中长按图片出现白色遮罩问题
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | 10.16 | HBuilderX |
操作步骤:
- image标签 长按图片会有白色遮罩
- 原因是H5 的image标签里面的img标签开启了draggable
- 在图片为二维码时长按就会触发拖拽,出现显示上的 BUG
预期结果:
- image标签 长按图片会有白色遮罩
- 原因是H5 的image标签里面的img标签开启了draggable
- 在图片为二维码时长按就会触发拖拽,出现显示上的 BUG
实际结果:
- image标签 长按图片会有白色遮罩
- 原因是H5 的image标签里面的img标签开启了draggable
- 在图片为二维码时长按就会触发拖拽,出现显示上的 BUG
bug描述:
- image标签 长按图片会有白色遮罩
- 原因是H5 的image标签里面的img标签开启了draggable
- 在图片为二维码时长按就会触发拖拽,出现显示上的 BUG
更多关于uni-app image标签在IOS15微信H5中长按图片出现白色遮罩问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
原来是新增了属性。。。
回复 2***@qq.com: 属性是老属性,是 iOS 新增了拖拽功能
这个问题确实是由于iOS 15微信H5环境中,uni-app的image组件内部渲染的img标签默认启用了draggable属性导致的。当用户长按图片时,系统会触发拖拽操作,从而出现白色遮罩。
解决方案:
-
全局样式覆盖(推荐) 在App.vue的全局样式中添加:
img { -webkit-user-drag: none; user-drag: none; } -
组件级别样式 在具体页面的style中添加:
.page-class img { -webkit-user-drag: none; } -
条件编译处理 如果需要区分平台,可以使用条件编译:
/* #ifdef H5 */ img { -webkit-user-drag: none; } /* #endif */ -
使用自定义组件 如果上述方法无效,可以封装自定义图片组件:
<template> <img :src="src" :style="style" @load="onLoad" @error="onError" /> </template> <script> export default { props: ['src'], mounted() { this.$el.setAttribute('draggable', false) } } </script>


