移动端开发相关

超齐全的移动端开发的坑 参考

进行开发调试的时候可以安装browser-sync

移动端分类

  • Native 原生App 使用Java/Objective-C/Swift 开发
  • Webapp 在手机浏览器上展现的网页
  • Hybird 混合应用 Native+Html
  • 小程序 知乎小程序话题

常用的事件

原生的JS中针对移动端有这些事件:
click,touchstart,touchend,touchmove

    node.addEventListener('touchstart',function () {
        console.log('start touch')
    })
    node.addEventListener('touchend',function () {
        console.log('end touch')
    }  )

手势和滚动

实际应用中移动端还有如下手势:

gesture.jpg

由于原生JS没有这些事件,可以使用外部的手势库,例如hammerjs

对于移动端的滚动事件,有iscroll

300ms delay

指的是 移动端浏览器为了区分 双击还是单击事件 对于click事件判定会有300ms的延时时间,300ms之内没有第二次点击则判断为单击事件

针对300ms delay的情况,如果想要点击立即生效的话,可以使用:

  • 使用touchstart 事件
  • 使用fastclick 库(原理为监听touchend事件,然后触发一个模拟的click事件,同时将300ms后才会触发的真正的click事件取消掉

移动端的页面适配

一般视图加上这个meta:
<meta name="viewport" content="width=device-width,height=device-height>

对于页面缩放,可以继续在meta中加上
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

加上这个meta之后,在chrome中其实就已经没有300ms delay了

动态rem方案

rem相对html的font-size来确定大小

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 以前听到前辈们说移动端尽量不要使用click,click会比较迟钝,能用touchstart还是用touchsta...
    极乐君阅读 4,055评论 0 2
  • AMD 和 CMD 的区别有哪些?AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。CMD 是 ...
    竿牍阅读 3,994评论 0 1
  • 一、移动端300ms点击延迟 一般情况下,如果没有经过特殊处理,移动端浏览器在派发点击事件的时候,通常会出现300...
    tsyeyuanfeng阅读 33,318评论 8 69
  • O 今天看了各位仙女们近期的ORID,发现大家都在逐渐聚焦到某个点,开始把ORID当行动日志,而我还在写过去发生的...
    蝉鸣梦醒阅读 1,310评论 5 2
  • 今天儿子下午又逃课被老师发现了,老师很生气给我打电话,我给老师道歉,然后打电话儿子回家了。真的没有了去年那么焦虑了...
    幸福的燕子阅读 1,265评论 1 2

友情链接更多精彩内容