移动端微信内置浏览器(或QQ浏览器)无法识别onclick事件的解决

1.微信内置浏览器(或QQ浏览器或safari浏览器)无法识别onclick事件的解决( 前面没耐心看的,直接看最后的总结
        对于这类不兼容的问题真的是很磨人,比较浪费时间,对于技术大牛可能不是问题,但是对于新手来说,可能就是个好几天无法解决的bug了。
        现在市场份额最大的是google浏览器,它对各种前端语言兼容的最多,就如题目中所描述的问题,google浏览器很完美的兼容了。
        问题主要出现在这里,html中的a 标签和li标签中的onclick事件在window.οnlοad=function(){}里或者$(document).ready(function(){})里无法识别在QQ浏览器和safari浏览器中,也就是说,android手机里的chrome浏览器能够识别onclick事件,但是在ios手机里的safari浏览器识别不出来,或者在QQ浏览器里无法识别该事件。
        糟心的是项目的开发是基于微信的,坑爹啊有木有!微信内置的浏览器肯定是用他们自己家的浏览器啊(QQ浏览器),所以根本就识别不出来,而且更坑爹的是有一大群人在用ios手机啊啊啊啊啊!,这尼玛项目开发必须要考虑这两点啊,那么怎么解决呢?
        很简单,博主我当初困惑了两三天,查了大量资料,也试了,但是都没用,最后是用另外一个事件名给解决的,下面是方法:
例子:
html:
<li οnclick="myFunction()">
js:
window.onload = function(){
    function myFunction(){......}
}
QQ浏览器和safari浏览器:噢,谢特!它不是我儿子!我们识别不出来...

解决:
html:
<li ontouch="myFunction()">
js:
window.onload = function(){
    function myFunction(){......}
}
主要是通过将onclick事件变为ontouch事件了,可能是因为移动端跟PC端的差别吧。
结果:
QQ浏览器和safari浏览器:噢,我的上帝啊!它是我儿子!

总结: 问题的解决其实就是在li标签里面添加一个与onclick类似的事件名ontouch就解决了。 多试一试触发事件名,可能会得到意向不到的效果。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值