最近在开发微信平台过程中,发现有一些JQ或者JS的事件在手机端网站中出现调用失败,或者完全失效的情况,找了好久才发现出现错误的地方,解决了之后把这些遇到的坑记录下来,方便自己以后查找

IOS端

  1. 手机端网站 $(“#body”).on(‘click’,’#selector’,function(){}) 失效的情况:

之前在做一个效果的时候,发现这个语句不起作用,开始还以为是语法的错误,发现在Android端和pc端都不会出现问题,才发觉可能是IOS端的问题,经过查找之后,发现有两个办法可以解决:

引入 jQuery Mobile 库,把click换成tap(当用户点屏幕时触发)方法 ,这个方法可能会比较复杂,要调用一个新的类库

在要触发方法的元素上加入 cursor:pointer 属性,IOS就是这么诡异~~(>_<)~~

Android端

  1. location.reload() 方法失效

在做网站的时候有一个功能需要在完成一个操作之后刷新页面的功能,很自然的就想到了location.reload(),这个方法,可是用了之后发现,IOS端和PC端都好用,只有Android端失效,就发现。。又是一个手机端的坑,这个解决方法相对简单一些

刷新本页面的话,可以理解成重新访问本页面,为了防止缓存,可以在参数中加上时间戳,替换原方法为如下:

window.location.href = location.href+’?time=’+((new Date()).getTime());