满口金牙 2022-06-29 14:52 采纳率: 91.5%
浏览 86
已结题

Vue 没有焦 点时,中文输入法的问题请教!

目的:
模拟excel 效果,
按tab键切换某单元格A,
此时A单元格是没有焦点的,
当按下键盘上任意字符键时,或双击时, A单元格才获取焦点

模拟代码:
table表格切换 td 中的 input

 case
      // 当按以下键盘键位时, input 获取焦点
      // 问题是这个时候没有焦点,中文输入法 如搜狗 不会出来
      // 造成了,每次切换到当前 input中,  要先出现一个英文字母,然后才是中文
      event.keyCode == 229 || // 中文输入法
      event.keyCode > 47 && event.keyCode < 58 ||
      event.keyCode > 64 && event.keyCode < 91 ||
      event.keyCode > 95 && event.keyCode < 112 ||
      event.keyCode > 186 && event.keyCode < 193 ||
      event.keyCode > 218 && event.keyCode < 223: 
      //  获取当前 input dom
      const inputDOM = document.getElementById(`input${rc.r}-${rc.c}`) as HTMLInputElement
      inputDOM?.focus()
      return

输入中文已解决,
但是就看有没有办法,隐藏 和 显示光标

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-06-29 15:17
    关注

    隐藏光标用css
    input{caret-color: transparent;}

    直接让input聚焦,输入或者dblclick时设置下光标颜色为黑色

    <style>
    input{caret-color: transparent;outline:none}
    input.input{caret-color: black;}
    </style>
    <input type="text" oninput="this.classList.add('input')" onblur="this.classList.remove('input')" ondblclick="this.classList.add('input')"/>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月7日
  • 已采纳回答 6月29日
  • 修改了问题 6月29日
  • 修改了问题 6月29日
  • 展开全部

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装