iOS踩坑记录之通过body标签委托事件无效的解决办法

2018-12-26  本文已影响0人  东方飞鱼

问题描述

在iOS系统的浏览器运行h5页面时,如果通过body或者html标签委托事件,并且委托元素默认不可点击(如div / span / p 等元素),那么点击事件(tap或者click)将会失效。

解决办法

解决办法有 4 种:

  1. 将点击事件直接绑定到目标​元素(​​即 .target)上
  2. 将目标​元素换成 <a> 或者 button 等可点击的​元素
  3. ​将点击事件委托到​​​​​非 html 或 body 的​​父级元素上
  4. 给​目标元素加一条样式 cursor: pointer;

​推荐后两种。从解决办法来看,​推测在 safari 中,不可点击的元素的点击事件不会冒泡到父级元素。通过添加 cursor: pointer 使得元素变成可点击的了。

引用:
https://www.cnblogs.com/Steping/p/5737547.html
https://happycoder.net/solve-ios-safari-click-event-bug/

上一篇 下一篇

猜你喜欢

热点阅读