zoukankan      html  css  js  c++  java
  • 在一般的程序中.程序员做输入框内容正确性检测时一般喜欢通过判断内容的合法性来确定焦点框.

    在一般的程序中.程序员做输入框内容正确性检测时一般喜欢通过判断内容的合法性来确定焦点框.
    如:
    代码如下:

    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>

    这个代码是在用户体验的细节性上会对设计师有很大的帮助...

  • 相关阅读:
    Python 内存泄露 内存回收机制
    decimal 格式化
    iis 6 配置PHP
    按照 in (....) 里面的顺序进行排序
    设计模式之 访问者模式
    与数据库的列信息有关
    win32 IFolderView2::GetCurrentFolderFlags的使用
    MySQL防止重复插入相同记录 insert if not exists
    c++扩展Python(未验证)
    c++ 获取桌面图标的坐标与名称
  • 原文地址:https://www.cnblogs.com/communist/p/5996501.html
Copyright © 2011-2022 走看看