js如何兼容pc端的onclick和移动端的ontouch事件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js如何兼容pc端的onclick和移动端的ontouch事件?相关的知识,希望对你有一定的参考价值。

自动识别当前设备是pc还是移动设备,如果是pc,则所有的点击事件都是onclick或者click,如果是移动设备,则相应的点击事件替换成ontouchend事件。

参考技术A 那你判断设备不就行了,你自己都说了,根据操作系统判断没难度呀

前端:移动端和PC端的区别

  在阿里的几次面试中,总是被问到移动端和PC端有什么区别,当时回答的时候主要是回答了在兼容性、网速、适配、页面布局等方面的不同,但是还是很不系统,所以这里做一个总结。

 

第一: PC考虑的是浏览器的兼容性,而移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器使用的都是webkit内核,所以说做移动端开发,更多考虑的应该是手机分辨率的适配,和不同操作系统的略微差异化。

 

第二: 在部分事件的处理上,移动端多出来的事件是触屏事件,而缺少的是hover事件。 另外包括移动端弹出的手机键盘的处理,这样的问题在PC端都是遇不到的。 

 

 

第三: 在布局上,移动端开发一般是要做到布局自适应的,我使用的一直是rem布局,感觉很好。

 

 

第四: 在动画处理上,PC端由于要考虑IE的兼容性,所以通常使用JS做动画的通用性会更好一些,但是CSS3做了很大的牺牲, 而在手机端,如果要做一些动画、特效等,第一选择肯定是CSS3 既简单、效率又高

 

第五:  微信的一些接口组好能去实现一遍,熟悉一下肯定是有好处的,比如通过微信分享文章,title、description、icon等图标的配置,这些还是要会的。

 

第六: 百度地图的一些API接口,也得去实现一下,这些对于移动端来说,LBS是一个非常重要的特性,所以地图这块肯定是要了解的,在加上百度地图这块已经是一个比较成熟的平台了,所以学起来也比较容易。

 

 

第七: CSS3的动画一定要比较熟练,这在移动端用的还是比较多的。 

 

 

第八: 一般pc端用jquery,移动端用zepto,因为移动端的流量还是比较重要的, 所以引入的资源或者插件,能小则小,一个30k的资源和一个80k的资源,在移动端的差别还是挺大的。

而未压缩的jquery是262kb, 压缩的jquey是83kb,可见两者的差别之大。

 

 

第九:最好能掌握一套完整的前端开发架构,比如模块化、打包、压缩、缓存、有条件的还可以做一下自动化测试等等,比较好用的有fis,另外,想要快速提升自己的前端开发技术,钻研前端架构这块是一个非常好的方向。

 

第十: 性能优化,包括首屏的打开速度、用户响应延迟、渲染性能、动画帧率等在手机上都需要特别注意。

 

第十一: 比如在手机上的300ms的延迟,这在PC端是没有的,如果我们希望做成webapp,那么自然就不需要这300ms的延迟,所以可以使用hammer-time.js来移除这300ms的延迟。

 

 

 

 

 

 

 

本文整理自:知乎

 

以上是关于js如何兼容pc端的onclick和移动端的ontouch事件?的主要内容,如果未能解决你的问题,请参考以下文章

pc端与移动端的区别

如何在 PC 机上测试移动端的网页

前端开发中pc端和移动端的区别

前端:移动端和PC端的区别

移动端和PC端的区别有哪些?

一个vue项目同时兼容pc和移动端