JQuery 聚焦控件后将光标定位在文本末尾显示
2014-12-25 13:38
851 查看
今天遇到了一个Ie下文本框聚焦时,光标不能自动定位到文本末尾的问题,在此小记下解决方法:
/*
* 公用方法
* utilityHandle.setFocus() 设置文本焦点定位方 (参数 objFocusEven:将设置聚焦的控件对象;values:焦点定位位置)
* */
var utilityHandle = {
setFocus:function(objFocusEven,values){
objFocusEven.focus();
// 默认使用focus方法聚焦
/* -------------- 2012.09.18 代码更新(增加对FF,Opera,Chorme现代浏览器的支持)--------*/
var objEven = objFocusEven[0]; // 将Jquery对象转换为Dom对象
if(window.getSelection){
// 现代浏览器
objEven.selectionStart =objEven.selectionEnd =
values;
}else if(document.selection){
// Ie浏览器
/* if ($.browser.msie) { //--- 此段注释代码,于2012.09.18日修改时去除---*/
var txt = objEven.createTextRange();
// 将传入的控件对象转换为Dom对象,并创建一个TextRange对象
txt.moveStart('character', values);
// 设置光标显示的位置
txt.collapse(true);
txt.select();
}
}};
// 事件调用
$("#btnView").click(function() {
var setFocusText = $("#txtFocus");
utilityHandle.setFocus(setFocusText,setFocusText.val().length);
});
附:
另外从网络中搜到了一些关于Javascript中createTextRange方法的具体使用示例:
"云上的日子": http://www.9ba.cn/post/356.html
“源码网”:http://info.codepub.com/2007/04/info-13353.html
/*
* 公用方法
* utilityHandle.setFocus() 设置文本焦点定位方 (参数 objFocusEven:将设置聚焦的控件对象;values:焦点定位位置)
* */
var utilityHandle = {
setFocus:function(objFocusEven,values){
objFocusEven.focus();
// 默认使用focus方法聚焦
/* -------------- 2012.09.18 代码更新(增加对FF,Opera,Chorme现代浏览器的支持)--------*/
var objEven = objFocusEven[0]; // 将Jquery对象转换为Dom对象
if(window.getSelection){
// 现代浏览器
objEven.selectionStart =objEven.selectionEnd =
values;
}else if(document.selection){
// Ie浏览器
/* if ($.browser.msie) { //--- 此段注释代码,于2012.09.18日修改时去除---*/
var txt = objEven.createTextRange();
// 将传入的控件对象转换为Dom对象,并创建一个TextRange对象
txt.moveStart('character', values);
// 设置光标显示的位置
txt.collapse(true);
txt.select();
}
}};
// 事件调用
$("#btnView").click(function() {
var setFocusText = $("#txtFocus");
utilityHandle.setFocus(setFocusText,setFocusText.val().length);
});
附:
另外从网络中搜到了一些关于Javascript中createTextRange方法的具体使用示例:
"云上的日子": http://www.9ba.cn/post/356.html
“源码网”:http://info.codepub.com/2007/04/info-13353.html
相关文章推荐
- C# winform 用textbox显示文本 如何把光标定位到指定的位置
- 光标定位到文本的末尾
- [转载].NET C# 如何将光标置于 TextBox 控件中的文本的开头或末尾或当前位置
- C# 将光标定位到录入式控件(如text,combobox)的末尾
- 两种方法,针对EditText密码的显示和隐藏(包括激将光标移动到文本末尾)
- js光标定位到文本末尾
- .NET C# 如何将光标置于 TextBox 控件中的文本的开头或末尾或当前位置
- .NET C# 如何将光标置于 TextBox 控件中的文本的开头或末尾或当前位置
- 将光标定位到文本的末尾(转)
- 代码中设置光标显示在EditText文本末尾
- MFC中设置EDIT控件中光标显示在字符串末尾的方法
- C# 如何将光标置于TextBox控件中的文本的开头或末尾或当前位置
- jQuery 源代码显示控件 (Ajax加载方式).
- jQuery实现在光标处插入文本
- 用jquery实现基于文本的搜索和定位功能
- 每天学一点flash(54)输入文本显示光标
- DevExpress 9.1 MemoEdit (textBox) 定位光标到文本结尾
- 数据绑定控件Repeater/GridView/DataList在前台显示正确的文本格式收藏
- 数据绑定控件Repeater/GridView/DataList在前台显示正确的文本格式
- 文本输入一个人的学号,当光标离开输入框时,文本框内显示该学号对应的姓名