Javascript onKeyUp()上的格式设置导致光标跳到输入字段的末尾
我是刚从大学毕业的新手。这是我第一次遇到这样的问题。我正在编写一个同事的代码,所以我不想对他的代码做太多修改,只需用他的代码修复一个问题,而不需要彻底修改它 我们有3个输入样式字段:输入、电话、号码Javascript onKeyUp()上的格式设置导致光标跳到输入字段的末尾,javascript,typescript,rendering,frontend,Javascript,Typescript,Rendering,Frontend,我是刚从大学毕业的新手。这是我第一次遇到这样的问题。我正在编写一个同事的代码,所以我不想对他的代码做太多修改,只需用他的代码修复一个问题,而不需要彻底修改它 我们有3个输入样式字段:输入、电话、号码 输入字段是一个自由文本字段,用于诸如名称之类的内容。 “电话”字段是一个仅限号码的字段,用于在屏幕上为用户实时将号码序列格式化为10位数的电话号码,格式为(XXX)XXX-XXXX。 数字字段用于ssn等仅允许数字的情况。非数字字符将被拒绝 这三个字段都扩展了基本格式字段。在这个基本格式字段中,我们
有没有办法在调用格式之前捕获光标位置,然后在调用格式之后返回光标位置?或者另一个可能容易实现的解决方案?您可以从触发事件的元素中获取插入符号位置,然后使用
子字符串在该位置插入文本。下面是我的一个项目中的一个片段,我必须处理插入制表符(\t
):
谢谢,我将尝试一下。我能够使用e.target.selectionStart捕获插入符号位置,并在格式化后将其设置在我的元素中,谢谢!很高兴。你可以接受答案,这样人们就知道答案是正确的,而无需阅读评论。:)
case 9: // Insert tab key at caret location
e.preventDefault();
var caret = e.target.selectionStart;
e.target.value = e.target.value.substring(0, caret) + '\t' + e.target.value.substring(caret);
break;