2018-06-12 记 ios中UIWebView的坑

使用cordova 8.0

cordova-ios@4.5.1

注册的click事件在ios11上后台hold一段时间,再打开,click事件全部失效。

原因:未升级UIWebView->wkwebview,用的safari引擎。所以有safari注册click事件的问题~

解决办法有6种:

将 click 事件直接绑定到目标元素(即 .target ) 上

将目标元素换成  或者  等可点击的元素

给目标元素添加一个空的 onclick=""(

点击我!
)

把 click 改成 touchend 或 touchstart(注意加上preventDefault)

将 click 元素委托到非 document 或 body 的父级元素上

给目标元素加一条样式规则 cursor: pointer; (cursor: pointer; -webkit-tap-highlight-color: transparent;)

推荐后两种。推测在 Safari 中,不可点击元素的点击事件是不会冒泡到父级元素的。通过添加 cursor: pointer; 使得元素变成了可点击的了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,727评论 1 11
  • 相关知识点 移动端、 适配(兼容)、 ios点击事件300ms延迟、 点击穿透、 定位失效...... 问题&解决...
    sandisen阅读 25,906评论 3 67
  • mobileHack 这里收集了许多移动端上遇到的各种坑与相对解决方案 工具类网站 HTML5 与 CSS3 技术...
    Zoemings阅读 6,783评论 0 12
  • # 移动端开发 ### 1. 1px问题如何解决 #### ①伪类 + transform(比较完美) > 原理是...
    sunnyRube阅读 996评论 0 0
  • 这个五一只放了不到两天的假,其实也不算长,如果放在平日一天和两天并没有多大的区别,只是这不到两天的假期让我感觉到的...
    宋怀众阅读 351评论 0 0

友情链接更多精彩内容