小程序点击穿透问题解决

知识点:pointer-events 属性在移动端开发中经常用于处理事件的穿透和响应控制。

下面是对应的场景: 使用Tora开发小程序,在地图上面写多个小图标,图标位于地图两侧并且都可以点击。要求点击图标时不触发地图的点击事件。

如图:

相关代码如下,会有一些放大、缩小、刷新定位等效果:

如果使用TaroMap组件开发地图,什么都不处理的情况下,点击小图标时,地图也会被触发点击事件。这不是我们的预期结果。

我们的预期结果是:点击小图标,只是响应图标事件,比如弹出提示或跳转页面。

解决方法:

css 复制代码
  // 设置鼠标进去元素内部区域时,事件响应
  pointer-events: visible;

如果点击图标时,需要地图的事件被响应,则: 将一个地图上层的元素设置为 pointer-events: none; ,实现点击透传的效果。

css 复制代码
  // 设置事件不响应,穿透到下层,使下层的地图响应事件触发
  pointer-events: none;

而将元素设置为 pointer-events: auto; 或者 pointer-events: visible;,则可以让元素恢复正常的鼠标事件响应。

总结: 响应本层事件:pointer-events: auto; 和 pointer-events: visible; 都表示元素会响应鼠标事件。 (区别在于 auto 是默认值,而 visible 是明确指明元素会响应事件。)

相关推荐
CarIise10 分钟前
CSS选择器与样式关联
前端·css·tensorflow
里欧跑得慢1 小时前
CSS 模块化架构的演进:BEM、CSS Modules 到 CSS-in-JS 的反思
前端·css·flutter·web·css-in-js
IT_陈寒2 小时前
Vue的computed属性把我坑惨了,原来我一直用错姿势
前端·人工智能·后端
小灰灰搞电子2 小时前
Rust+Slint 实现温度计源码分享
前端·rust·slint
计算机魔术师2 小时前
面壁智能 OpenBMB 推出 MathForm,面向 Lean 4 数学自动形式化的开源框架、数据集与模型
前端
NeilCarmack3 小时前
Deepseek-harness增加桌面版端序列:第 2 讲 · spawn Electron:当前进程如何“交棒“
前端·javascript·electron
上海魁鲸科技有限公司3 小时前
APS高级排产系统到底有什么用?一文讲清功能、选型与落地建议
前端·microsoft·excel
陈随易3 小时前
Bun v1.4 更新总结:把浏览器、图片、定时任务和工程工具都装进一个运行时
前端·后端·程序员
东风破_5 小时前
TypeScript 高级类型进阶:keyof、Exclude、Record 与类型组合思想
前端·后端·typescript
DS随心转插件5 小时前
Grok生成的html怎么导出——AI导出鸭:大模型结构化输出的“最后一公里”工程化解构
前端·人工智能·ai·html·豆包·deepseek·ai导出鸭