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