美文网首页
移动端遇到的问题

移动端遇到的问题

作者: 请说Yes | 来源:发表于2017-03-07 10:50 被阅读0次

    1. 伪类 :active 生效

    要CSS伪类 :active 生效,只需要给 document 绑定 touchstart 或 touchend 事件

    <script>
      document.addEventListener('touchstart',function(){},false);
    </script>
    

    2. JS 事件相关

    click 事件普遍 300ms 的延迟 在手机上绑定 click 事件,会使得操作有 300ms 的延迟,体验并不是很好。 开发者大多数会使用封装的 tap 事件来代替 click 事件,所谓的 tap 事件由 touchstart 事件 + touchmove 判断 + touchend 事件封装组成

    3. 不让 Android 手机识别邮箱

    <meta content="email=no" name="format-detection" />
    

    4. 禁止 iOS 识别长串数字为电话

    <meta content="telephone=no" name="format-detection" />
    

    5. setTimeout优化

    比如要绑定一个 touchmove 的事件,正常的情况下类似这样

    $('div').on('touchmove', function(){
       //.….code
    });
    

    而如果中间的 code 需要处理的东西多的话,FPS 就会下降影响程序顺滑度,而如果改成这样

    $('div').on('touchmove', function(){
       setTimeout(function(){
         //.….code
       },0);
    });
    

    把代码放在 setTimeout 中,会发现程序变快.

    6. Android平台遮罩层下的input、select、a等元素可以被点击和focus(点击穿透)

    问题发现于三星手机,这个在特定需求下才会有,因此如果没有类似问题的可以不看。首先需求是浮层操作,在三星上被遮罩的元素依然可以获取focus、click、change. bug issue ,在查看bug报告list以后,找到了两种解决方案,第一是通过层显示以后加入对应的class名控制,第二是通过将可获取焦点元素加入的disabled属性,也可以利用属性加dom锁定的方式(disabled的一种变换方式)

    7. 部分机型存在type为search的input,自带close按钮样式修改方法

    有些机型的搜索input控件会自带close按钮(一个伪元素),而通常为了兼容所有浏览器,我们会自己实现一个,此时去掉原生close按钮的方法为

    #Search::-webkit-search-cancel-button{
        display: none;    
    }
    

    如果想使用原生close按钮,又想使其符合设计风格,可以对这个伪元素的样式进行修改。

    8. 唤起select的option展开

    zepto方式:

    $(sltElement).trrgger("mousedown");
    

    原生js方式:

    function showDropdown(sltElement) {
        var event;
        event = document.createEvent('MouseEvents');
        event.initMouseEvent('mousedown', true, true, window);
        sltElement.dispatchEvent(event);
    };
    

    9. 移动端 HTML5 input date 不支持 placeholder 问题

    先使其 type 为 text,此时支持 placeholder,当触摸或者聚焦的时候,使用 JS 切换使其触发 datepicker 功能。

    <input placeholder="Date" class="textbox-n" type="text" onfocus="(this.type='date')"  id="date">
    

    相关文章

      网友评论

          本文标题:移动端遇到的问题

          本文链接:https://www.haomeiwen.com/subject/tczpgttx.html