收藏
回答

input框在IOS新版本用户使用的时候是正常的,但是低版本的输入不了,换输入法也不行?

非常基本的input,在低版本不能使用,而且用组件中的也是同样,操作的是微信公众号的H5页面

最后一次编辑于  2天前
回答关注问题邀请回答
收藏

2 个回答

  • 那一抹微笑😊穿透阳光
    那一抹微笑😊穿透阳光
    2天前

    代码发出来

    2天前
    有用
    回复 1
    • 落俗
      落俗
      2天前
      <template>
        <input
          ref="inputRef"
          :readonly="isIOSReadOnly"
          placeholder="请输入内容"
          border="surround"
          v-model="value"
          @focus="isIOSReadOnly = false"
          @click="handleClick"
          @change="change"
        >
      </template>
      <script setup>
      import { ref, onMounted } from 'vue';
      const value = ref('');
      const isIOSReadOnly = ref(false)
      const inputRef = ref(null)
      onMounted(() => {
        // 检测是否为低版本iOS
        const ua = window.navigator.userAgent
        const match = ua.match(/OS (\d+)_(\d+)_?(\d+)?/)
        if (match) {
          const major = parseInt(match[1])
          const minor = parseInt(match[2])
          // iOS 15以下全部加readonly
          if (major < 15) {
            isIOSReadOnly.value = true
          }
        }
      })
      const handleClick = () => {
        // 手动获取焦点,兼容部分低版本iOS
        inputRef.value && inputRef.value.focus()
      }
      const change = (e) => {
        console.log('change', e);
      };
      </script>
      2天前
      回复
  • 智能回答 智能回答 该问答由AI生成
    2天前
    有用
登录 后发表内容