[转]iOS Safari 中click点击事件失效的解决办法

Posted 糖伴西红柿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转]iOS Safari 中click点击事件失效的解决办法相关的知识,希望对你有一定的参考价值。

问题起因:

在微信公众号开发(微站)过程中用jquery的live方法绑定的click事件点击无效(不能执行)

问题描述

当使用委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 divspan 等),此时 click 事件会失效。

解决办法

解决办法有 4 种可供选择:

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

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

引用:https://happycoder.net/solve-ios-safari-click-event-bug/

以上是关于[转]iOS Safari 中click点击事件失效的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

移动端 ios Safari 问题及 一般解决方法

iOS 9 上的 Safari 不会触发隐藏输入文件的点击事件

Window.click 事件不会在 IOS Safari 上触发 - 仅限 JavaScript

HTML5移动端触摸事件

转关于on点击事件在ios中失效的问题

带有波纹动画的 ng-click 在 Safari iOS 上的点击功能与在 PC 上的点击不同