解决安卓网页在微信浏览器中点击图片会自动放大
2023-09-14 08:56:56 时间
使用的是微信Android客户端,使用img标签的src属性将图片设置好了以后,在微信中调试,点击图片竟然放大,自己
没写放大图片的方法,也没有调用wx.previewImage()方法,最后查找,原来是微信Android客户端已经在底层支持了img标签自动放大的功能,说是bug还是改进?因为传统的浏览器是不带图片放大效果的,需要自己写方法,好了,明白了问题所在,解决就好了:
传统方式:
这个方式可能会把所有的默认的属性都屏蔽了,典型的就是a标签不能跳转
$(document).on(‘click’, ‘img’, e => {
e.preventDefault();
})
js阻止事件
<img src="a.png" onclick="return false" />
css方式:
img{
pointer-events: none;
}
这个会让img标签的点击事件失效,如果想要点击图片就要给上面再写一层
Vue方式:
v-on:click.prevent或者@click.prevent
既能保证img标签的click,也能保证在微信中不自动放大,完美解决
另外一种方法
// 递归搜索当前元素所有父级,看是否包含有a标签且有href值 const searchIsHavaTagA = function (currentEle) { // 如果一直往上层找,到body还没找到就说明没有了 if (currentEle.nodeName === 'BODY') { return false; } let parent = currentEle.parentElement; if (parent.nodeName === 'A' && parent.getAttribute('href')) { return true; } else { return searchIsHavaTagA(parent); } } $(document).on('click', 'img', function (e) { try { // 父级里有a标签且href不为空的,不处理 if (!searchIsHavaTagA(e.target)) { e.preventDefault(); } } catch (error) { console.log('阻止图片默认事件失败'); } })
相关文章
- 安卓手机备忘录app删除了怎么恢复
- 安卓手机日记本便签哪个好?
- 安卓手机给视频文件加密的方法 用这款加密便签就可以
- 上线休息日免打扰功能!安卓便签如何开启提醒事项休息免打扰模式
- 在安卓手机上的便签中怎么列出一天的事情,并且标记完成呢?
- 安卓逆向8,解决app抓包抓不到的问题
- delphi xe 之路(25)安卓夜间效果
- Andorid开发学习---ubuntu 12.04下搭建超好用的安卓模拟器genymotion 安装卸载virtualbox 4.3
- 安卓动态调试七种武器之离别钩 – Hooking(上)
- 怎样通过Html网页调用本地安卓app
- 开源中国安卓client源代码学习(一) 渐变启动界面
- RK3399平台开发系列讲解(系统修改记录篇)1.5、安卓系统所有音量条统一控制
- 安卓app上架流程
- 安卓的生命周期(初学)