解决安卓网页在微信浏览器中点击图片会自动放大
使用的是微信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('阻止图片默认事件失败'); } })
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2017-06-22 Linux下修改Mysql的用户(root)的密码