JQuery 聚焦控件后将光标定位在文本末尾显示

今天遇到了一个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);
});



附:
另外从网络中搜到了一些关于Javas cript中createTextRange方法的具体使用示例:
"云上的日子":  http://www.9ba.cn/post/356.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值