设置输入框的光标置于文字末尾

我们在项目开发过程中,会遇到这么一个问题:页面有个搜索框,点击搜索按钮或者回车键搜索后,文本框的光标置于文字前方,不便于继续输入,

影响操作,我们需要将光标置于文本之后,这时我就需要下面这段代码来控制光标。

为了方便使用已封闭成函数

 1 function setCursorPos( input )
 2 {
 3    var isIE = ( navigator.appName == "Microsoft Internet Explorer" );//判读是否为ie浏览器
 4    var count = input.value.length;
 5    if(isIE){//IE
 6        var f = input.createTextRange(); //创建文本范围对象
 7        f.moveStart(‘character‘,count);  //更改范围起始位置, 如果count改为0就把光标放在text中的字符的最前面
 8        f.collapse(true);  //将插入点移动到当前范围的开始或结尾。
 9        f.select();  //将当前选中区置为当前对象,执行
10    }else{//FireFox
11        input.setSelectionRange(count,count);
12    }
13
14    input.focus();
15 }

演示示例:

 1 <body>
 2
 3 <textarea id="keyword"></textarea>
 4 <input type="button" id="btn" value="确定" />
 5
 6 <script type="text/javascript">
 7
 8 var btn = document.getElementById("btn");
 9 btn.onclick = function()
10 {
11      var input = document.getElementById("keyword");
12      setCursorPos( input );
13 }
14
15
16 function setCursorPos( input )
17 {
18    var isIE = ( navigator.appName == "Microsoft Internet Explorer" );//判读是否为ie浏览器
19    var count = input.value.length;
20    if(isIE){//IE
21        var f = input.createTextRange(); //创建文本范围对象
22        f.moveStart(‘character‘,count);  //更改范围起始位置, 如果count改为0就把光标放在text中的字符的最前面
23        f.collapse(true);  //将插入点移动到当前范围的开始或结尾。
24        f.select();  //将当前选中区置为当前对象,执行
25    }else{//FireFox
26        input.setSelectionRange(count,count);
27    }
28
29    input.focus();
30 }
31
32
33 </script>
34 </body>

设置输入框的光标置于文字末尾

时间: 2024-10-05 06:33:54

设置输入框的光标置于文字末尾的相关文章

js设置输入框失去光标与光标选中时样式

输入框样式 <script language="javascript" type="text/javascript"> function glb_searchTextOnfocus(obj) { if (obj.value == '请输入您想要的作品...') obj.value = ''; obj.style.color = '#333'; } function glb_searchTextOnBlur(obj) { if (obj.value ==

Bootstrap3基础 form-control 圆角的输入框,光标放入后边框变色

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜.              ide:visual studio 2017             browser:Firefox / Chrome   bootstrap:3.3.7 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8&qu

给你一个输入框,可存文字,图片,视频,书写测试用例

1.给你一个输入框,可存文字,图片,视频,书写测试用例 等价类.边界值.猜测法 1.1.1 文本框的测试 如何对文本框进行测试 a,输入正常的字母或数字. b,输入已存在的文件的名称: c,输入超长字符.例如在"名称"框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入256个字符,检查程序能否正确处理: d,输入默认值,空白,空格: e,若只允许输入字母,尝试输入数字:反之:尝试输入字母: f,利用复制,粘贴等操作强制输入程序不允许的输入数据: g,输入集,例如,NUL及\

设置警告框为带有一个密文输入框的样式,并设置输入框键盘为数字键盘;判断密文输入框里的内容,并弹出相应提示

项目需求 废话不说,直接上试题 及答案 代码 #import "TableViewController.h" @interface TableViewController ()<UIAlertViewDelegate> @property (nonatomic, strong) NSMutableArray * dataSource; - (IBAction)buy:(id)sender; @end @implementation TableViewController -

Allegro设置十字大光标

使用大十字光标,在摆放元器件时,容易对齐.在allegro中,可以通过设置实现大十字光标,其具体方法如下: 1.选择Setup->User Perferences,即可出现如下图所示界面: 2.选择Display->Cursor,里面有个pcb_cursor可选菜单.若是选择cross,则是小十字光标,若是选择infinite,则是出现大光标. 记得要把“infinite_cursor_bug_nt” 勾选 原创文章,转载请注明: 转载自 http://www.mr-wu.cn/ 吴川斌的博客

【转】input输入框中光标高度的变化问题

原文地址:http://blog.csdn.net/luochao_tj/article/details/17755457 input[type='text']文本框光标高度在有输入内容和为空时发生很大变化. 首先,先看看问题产生的原因:chrome浏览器对光标高度的设置原则为,当没有内容的时候光标的高度=input的line-height的值,当有内容时,光标从input的顶端到文字的底部. OK,既然知道了原因,我们就相应才去一些措施.尝试了两种方法去做:. 方法1:将line-height

js手动控制输入框的光标位置

功能:点击外部可选项将文字带入,并且光标在上一次位置后(类似于手机键盘点击) 两种场景: 1. 焦点没有进入文本框或者在文本框中最后,点击外部之后直接将内容加到后面然后跟上光标: 注:光标位置可能和焦点位置不一致,光标最多只能靠近右边框, 2.焦点在文本框且光标在已有文本的中间,例123,在1后,加入4后显示1423并且光标在4后: 在此展示我用的项目代码(angular的动态表单中) getConputation(item) { const formModel = this.formModel

textView设置粗体以及textView文字中划线

设置粗体 2. 设置划线经过文字 private void initHeaderView2(LayoutInflater inflater) { headerView2 = inflater.inflate(R.layout.main_header_qianggou, null); final TextView tv_time = (TextView) headerView2 .findViewById(R.id.textView2); TextView tv_oldPrice = (TextV

设置UIButton或者UILabel显示文字的行数

需要在UIButton的titleLabel或者UILabel的text 字符串里面添加换行符号 “\n”,并且设置 UILabel的numberOfLines属性 栗子:行数要和“\n”的个数对应,并且UILabel的frame要保证足够大,能够完整显示换行之后的文字 代码: 截图: 1.字体格式设置过大的结果 2. 设置刚好的结果 4.设置3行的字体格式过大的结果 -------------------------> 5.行数和换行符不对应的结果 ----------------------