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; 使得元素变成了可点击的了。

上一篇下一篇

猜你喜欢

热点阅读