zoukankan      html  css  js  c++  java
  • IOS系统input输入框为readonly时, 隐藏键盘上的上下箭头

    业务中在一定场景中会将input 设置为只读状态,在IOS safari上当input 输入框focus 时,仍会出现键盘上的上下箭头,这种用户体验非常不好,如何干掉呢?

    <input readonly="readonly"/>

    说一下思路:

    上下箭头是无法通过 设置html属性,meta标签或者监听事件来解决,因为这些箭头并没有可以监听它的事件。而这些箭头的本意是让用户在上下多个input 中自由方便切换。

    但是对于输入框的状态是只读时,给用户弹出这样的箭头就不应该了。

    唯一的选择是当输入被聚焦时禁用表单中的所有其他输入,因此就不会出现上下切换的选项卡。

    具体实施方法是 focus某个input时,对于所选input之外的所有input与textarea元素,添加readobly参数。

    对于select元素,添加tabindex=-1参数,使其不在切换列表中。

    $(document).ready(function() {
      // 判断是否是IOS
      if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {
    
        $('input, textarea').on('focus', function() {
          $('input, textarea').not(this).attr("readonly", "readonly")
        })
        $('input, textarea').on('blur', function() {
          $('input, textarea').removeAttr("readonly")
        })
    
        $('select').attr('tabindex', '-1')
      }
    })
    
  • 相关阅读:
    java控制台输入
    冒泡排序
    选择排序
    Json数组去重
    HTTP状态码详解
    根据json对象的值替换json数组里的值
    用户中心页面
    正则表达式
    vue-router如何根据不同的用户给不同的权限
    vue2.0+element+node+webpack搭建的一个简单的后台管理界面
  • 原文地址:https://www.cnblogs.com/lvonve/p/11335034.html
Copyright © 2011-2022 走看看