我一直在从事一个小型个人项目,该项目要求我能够通过键盘命令启用和禁用文本区域中的文本输入。它的功能类似于 Vi/Vim 处理插入和命令模式的方式。
我似乎无法找到一种优雅的方式来执行这项任务。将 textarea 设置为禁用意味着用户不能再在文本中移动光标插入符号。将 keydown 事件设置为return false
可用于禁用该字段,但显然无法重新启用它,因为它会在达到任何其他逻辑之前立即返回 false。
如果在 之前有任何逻辑,return false
则 textarea 接受字符输入。我尝试了一个版本,它可以接受这个输入,如果它没有设置为插入模式,它会立即恢复它,但这感觉很笨拙,并且导致的问题比它的价值要多(而且它不是真正的即时......)