2018-06-12 记 ios中UIWebView的坑
2018-06-12 本文已影响259人
GeeFib
使用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; 使得元素变成了可点击的了。