欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-07 22:02:43
1.微信内置浏览器(或QQ浏览器或safari浏览器)无法识别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浏览器:噢,我的上帝啊!它是我儿子!

总结:多试一试触发事件名,可能会得到意向不到的效果。