JS对于Android和IOS平台的点击响应的适配
2015-06-04 09:18
246 查看
综述
最近做项目的时候发现了一个非常奇怪的问题,就是对于click事件的响应。经过测试发现,对于IOS平台,直接监听click事件可能是没有响应的,而在Android和PC上则完全没有问题。所以通过获取设备信息实现了不同平台的不同监听。IOS监听
对于IOS设备,只监听click方法可能是没有响应的。解决方法就是监听 “touchend click”事件。而对于Android和PC,则只监听click事件即可。
平台检测
我们利用userAgent来检测平台1 2 3 4 5 6 7 8 9 | if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //alert(navigator.userAgent); alert("iOS"); } else if (/(Android)/i.test(navigator.userAgent)) { //alert(navigator.userAgent); alert("Android"); } else { alert("PC"); }; |
实现监听
我们可以把方法自定义名字,比如1 2 3 4 5 | function back_click(){ $(".group-names").show(); $(".groups:visible").hide(); $(this).hide(); } |
1 2 3 4 5 6 | /* bind the event */ if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { $(".back").bind({"touchend click":back_click}); }else{ $(".back").bind({"click":back_click}); } |
总结
通过以上方法便可以实现不同平台的监听。相关文章推荐
- 构建 iOS 风格移动 Web 应用程序的8款开发框架
- ios开发学习笔记040-autolayout 第三方框架Masonry
- IOS开发中的几种设计模式介绍
- iOS应用开发:什么是ARC?
- 1000 个 iOS 常用的库
- [转]IOS开发中四种解析Json的方法
- xcode6.3 模版位置
- IOS8中Corelocation调用修改
- BIOS基本知识
- iOS图片的截取(OC)
- iOS开发—iOS多线程编程之NSThread的使用
- iOS日期与时间处理
- iOS打电话,发短信,发邮件,打开网址
- iOS开发学习第十二课——函数指针定义 、函数回调 、动态排序
- ios学习路线
- iOS开发起步
- iOS 实现后台运行
- IOS开发之多线程使用
- iOS上架错误集合
- iOS 定制手机通讯录(4)