safari内核钉钉版本7.0及以上 英文引号自动变为中文

  • vue2 + ant-design-vue1.7.8 safari 内核苹果电脑钉钉版本 7.0 及以上英文引号自动变为中文
  • div 上加 contenteditable="true",实现 div 可输入功能,点击事件可能会触发新的焦点,添加 user-select: none;可解决

  • contenteditable="true"

  • autocorrect="off"

  • autocapitalize="off"

  • autocomplete="off"

  • 禁用用户选择文本

    /* 在样式文件中添加 */
    p {
      user-select: none;
      -webkit-user-select: none; /* Safari 特定 */
    }
    
  • ant.ts 文件

      import Vue from "vue";
      import Antd from "ant-design-vue";
      import "ant-design-vue/dist/antd.css";
      Vue.config.productionTip = false;
      Vue.use(Antd);
      // 自定义 Input 组件
      import { Input } from 'ant-design-vue';
      const CustomInput:any = Vue.extend(Input);
      // 合并原有 props 并添加新属性
      const originalProps = CustomInput.options.props || {};
      // 修复Safari输入英文引号自动转为中文引号
      CustomInput.options.props = {
        ...originalProps,
        spellcheck: { // 禁用拼写检查(部分场景可能干扰输入)
          type: Boolean,
          default: false,
        },
        autocorrect: {//禁用自动纠错和文本转换(包阔引号)
          type: String,
          default: 'off',
        },
        autocapitalize: {  //控制首字母大写
          type: String,
          default: 'off',
        },
      };
      // 注册覆盖原组件
      Vue.component('a-input', CustomInput)
    
posted @ 2025-08-08 15:17  不完美的完美  阅读(12)  评论(0)    收藏  举报