综述
最近做项目的时候发现了一个非常奇怪的问题,就是对于 click 事件的响应。经过测试发现,对于 IOS 平台,直接监听 click 事件可能是没有响应的,而在 Android 和 PC 上则完全没有问题。所以通过获取设备信息实现了不同平台的不同监听。
IOS 监听
对于 IOS 设备,只监听 click 方法可能是没有响应的。解决方法就是监听 “touchend click” 事件。 而对于 Android 和 PC,则只监听 click 事件即可。
平台检测
我们利用 userAgent 来检测平台
1 |
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { |
上面的 JS 代码可以检测三个平台。
实现监听
我们可以把方法自定义名字,比如
1 |
function back_click(){ |
然后跨平台实现监听
1 |
/* bind the event */ |
通过以上监听便没有问题了。
总结
通过以上方法便可以实现不同平台的监听。