加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

js中实现文本框中焦点在最后位置

发布时间:2023-10-20 15:41:04 所属栏目:教程 来源:
导读:在一般的程序中.程序员做输入框内容正确性检测时一般喜欢通过判断内容的合法性来确定焦点框.

如:

代码如下:

if(obj.value==""){

obj.focus();

return false;

}

这样当哪一项输入框
在一般的程序中.程序员做输入框内容正确性检测时一般喜欢通过判断内容的合法性来确定焦点框.
 
如:
 
代码如下:
 
if(obj.value==""){
 
   obj.focus();
 
   return false;
 
}
 
这样当哪一项输入框为空是就将焦点移动那一项输入框..这项功能使用起来非常方便..但是存在一个小小的问题...
 
那就是obj.focus()将焦点移动到输入框后,会将文字光标(就是一闪一闪的竖线)移动到这个输入框的第一个字符的位置...就上面的判断而言..如果文本框中没有内容..obj.focus正好可以满足我们直接在文本框中输入内容而不用点击一下文本框以使文本有焦点...
 
但是,如果文本框中已经有内容了..但是这个内容不合法.obj.focus()同样的将光标移动到了这个文本框的第一个字符的位置..这时就会让注意用户体验的设计师郁闷了...我们需要的是文本框得到焦点,然后文字光标移动到文本框的最后,让用户可以不用点击文本框直接输入内容..输入的内容会在原来的内容的后面追加起来..
 
下面的代码可以完成这个小细节:
 
代码如下:
 
<script language="javascript">
 
function getSelectPos(obj){
 
var esrc = document.getElementById(obj);
 
if(esrc==null){
 
   esrc=event.srcElement;
 
}
 
var rtextRange =esrc.createTextRange();
 
rtextRange.moveStart('character',esrc.value.length);
 
rtextRange.collapse(true);
 
rtextRange.select();
 
}
 
</script>
 
这个代码是在用户体验的细节性上会对设计师有很大的帮助...
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章