文本框聚焦后,光标一直显示在最前面

-一个大坑 2017-06-26 03:41:15
我想让光标显示在文本框字符最后怎么办

var obj = $("input[name='CARNO']").val();
$("input[name='CARNO']").val(obj).focus();

网上搜的方法,不管用

$("input[name='CARNO']").focus();我写的获取文本框焦点
...全文
797 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
本人QQ-554433626 2017-06-26
  • 打赏
  • 举报
回复
引用 10 楼 happy4944 的回复:
[quote=引用 8 楼 qq_32661557 的回复:] [quote=引用 7 楼 happy4944 的回复:] [quote=引用 6 楼 happy4944 的回复:] tObj =[object (jQuery)] sPos 根据字符长度变化 tObj.setSelectionRange是undefined tObj.createTextRange也是undefined,根本进不去
我把判断改为true,提示:物件沒有支援這個屬性或方法 'setSelectionRange'[/quote] 你现在的代码是怎么写的 [/quote]

                        $.ajax({
                             type: 'POST',
                             url: '/SCCM0101/GetCarNoView',
                             data: { appNo: appNo, carNo: carNo },
                             success: function (data) {
                                 $("#disposeDiv").empty().append(data);
                                 $("input[name='CARNO']").focus();
                                 var tObj = $("input[name='CARNO']");
                                 var sPos = tObj.val().length;
                                 setCaretPosition(tObj, sPos);
                                 var result = $("input[name='result']").val()
                                 if (result == 'No') {
                                      layer.alert("该车不可用");
                                     $("input[name='CARNO']").val('');
                                 }
                             }
                        });

        function setCaretPosition(tObj, sPos) {
            if (tObj.setSelectionRange) {
                setTimeout(function () {
                    tObj.setSelectionRange(sPos, sPos);
                    tObj.focus();
                }, 0);
            } else if (tObj.createTextRange) {
                var rng = tObj.createTextRange();
                rng.move('character', sPos);
                rng.select();
            }
        }
[/quote] 你在输入框加个ID选择器textId var  tObj = document.getElementById("textId");         var sPos = tObj.value.length;         setCaretPosition(tObj, sPos); 用jquery获取元素不行
-一个大坑 2017-06-26
  • 打赏
  • 举报
回复
引用 8 楼 qq_32661557 的回复:
[quote=引用 7 楼 happy4944 的回复:] [quote=引用 6 楼 happy4944 的回复:] tObj =[object (jQuery)] sPos 根据字符长度变化 tObj.setSelectionRange是undefined tObj.createTextRange也是undefined,根本进不去
我把判断改为true,提示:物件沒有支援這個屬性或方法 'setSelectionRange'[/quote] 你现在的代码是怎么写的 [/quote]

                        $.ajax({
                             type: 'POST',
                             url: '/SCCM0101/GetCarNoView',
                             data: { appNo: appNo, carNo: carNo },
                             success: function (data) {
                                 $("#disposeDiv").empty().append(data);
                                 $("input[name='CARNO']").focus();
                                 var tObj = $("input[name='CARNO']");
                                 var sPos = tObj.val().length;
                                 setCaretPosition(tObj, sPos);
                                 var result = $("input[name='result']").val()
                                 if (result == 'No') {
                                      layer.alert("该车不可用");
                                     $("input[name='CARNO']").val('');
                                 }
                             }
                        });

        function setCaretPosition(tObj, sPos) {
            if (tObj.setSelectionRange) {
                setTimeout(function () {
                    tObj.setSelectionRange(sPos, sPos);
                    tObj.focus();
                }, 0);
            } else if (tObj.createTextRange) {
                var rng = tObj.createTextRange();
                rng.move('character', sPos);
                rng.select();
            }
        }
-一个大坑 2017-06-26
  • 打赏
  • 举报
回复

        var tObj = $("input[name='CARNO']");
        var sPos = tObj.val().length;
        setCaretPosition(tObj, sPos);
        function setCaretPosition(tObj, sPos) {
            alert(tObj.setSelectionRange)
            if (true) {
                setTimeout(function () {
                    tObj.setSelectionRange(sPos, sPos); //物件沒有支援這個屬性或方法 'setSelectionRange' 
                    tObj.focus();
                }, 0);
            } else if (tObj.createTextRange) {
                var rng = tObj.createTextRange();
                rng.move('character', sPos);
                rng.select();
            }
        }
本人QQ-554433626 2017-06-26
  • 打赏
  • 举报
回复
引用 7 楼 happy4944 的回复:
[quote=引用 6 楼 happy4944 的回复:] tObj =[object (jQuery)] sPos 根据字符长度变化 tObj.setSelectionRange是undefined tObj.createTextRange也是undefined,根本进不去
我把判断改为true,提示:物件沒有支援這個屬性或方法 'setSelectionRange'[/quote] 你现在的代码是怎么写的
-一个大坑 2017-06-26
  • 打赏
  • 举报
回复
引用 6 楼 happy4944 的回复:
tObj =[object (jQuery)] sPos 根据字符长度变化 tObj.setSelectionRange是undefined tObj.createTextRange也是undefined,根本进不去
我把判断改为true,提示:物件沒有支援這個屬性或方法 'setSelectionRange'
-一个大坑 2017-06-26
  • 打赏
  • 举报
回复
引用 4 楼 qq_32661557 的回复:
[quote=引用 3 楼 happy4944 的回复:] [quote=引用 2 楼 happy4944 的回复:] [quote=引用 1 楼 qq_32661557 的回复:]

var tObj =$("input[name='CARNO']");  
var sPos = tObj.value.length;  
setCaretPosition(tObj, sPos); 
function setCaretPosition(tObj, sPos){  
    if(tObj.setSelectionRange){  
        setTimeout(function(){  
            tObj.setSelectionRange(sPos, sPos);  
            tObj.focus();  
        }, 0);  
    }else if(tObj.createTextRange){  
        var rng = tObj.createTextRange();  
        rng.move('character', sPos);  
        rng.select();  
    }  
} 
var sPos = tObj.value.length 这句和框架冲突了,加.length就报错[/quote] var sPos = tObj.length;或者var sPos = tObj.value都行,但是var sPos = tObj.value.length就提示****不能为null[/quote] tObj.val().length[/quote] tObj =[object (jQuery)] sPos 根据字符长度变化 tObj.setSelectionRange是undefined tObj.createTextRange也是undefined,根本进不去
-一个大坑 2017-06-26
  • 打赏
  • 举报
回复
引用 1 楼 qq_32661557 的回复:

var tObj =$("input[name='CARNO']");  
var sPos = tObj.value.length;  
setCaretPosition(tObj, sPos); 
function setCaretPosition(tObj, sPos){  
    if(tObj.setSelectionRange){  
        setTimeout(function(){  
            tObj.setSelectionRange(sPos, sPos);  
            tObj.focus();  
        }, 0);  
    }else if(tObj.createTextRange){  
        var rng = tObj.createTextRange();  
        rng.move('character', sPos);  
        rng.select();  
    }  
} 
var tObj = $("input[name='CARNO']"); var sPos = tObj.length; alert(sPos) sPos 一直是1。 var tObj = $("input[name='CARNO']").val(); var sPos = tObj.length; alert(sPos) sPos 根据输入的字符在变化。
本人QQ-554433626 2017-06-26
  • 打赏
  • 举报
回复
引用 3 楼 happy4944 的回复:
[quote=引用 2 楼 happy4944 的回复:] [quote=引用 1 楼 qq_32661557 的回复:]

var tObj =$("input[name='CARNO']");  
var sPos = tObj.value.length;  
setCaretPosition(tObj, sPos); 
function setCaretPosition(tObj, sPos){  
    if(tObj.setSelectionRange){  
        setTimeout(function(){  
            tObj.setSelectionRange(sPos, sPos);  
            tObj.focus();  
        }, 0);  
    }else if(tObj.createTextRange){  
        var rng = tObj.createTextRange();  
        rng.move('character', sPos);  
        rng.select();  
    }  
} 
var sPos = tObj.value.length 这句和框架冲突了,加.length就报错[/quote] var sPos = tObj.length;或者var sPos = tObj.value都行,但是var sPos = tObj.value.length就提示****不能为null[/quote] tObj.val().length
-一个大坑 2017-06-26
  • 打赏
  • 举报
回复
引用 2 楼 happy4944 的回复:
[quote=引用 1 楼 qq_32661557 的回复:]

var tObj =$("input[name='CARNO']");  
var sPos = tObj.value.length;  
setCaretPosition(tObj, sPos); 
function setCaretPosition(tObj, sPos){  
    if(tObj.setSelectionRange){  
        setTimeout(function(){  
            tObj.setSelectionRange(sPos, sPos);  
            tObj.focus();  
        }, 0);  
    }else if(tObj.createTextRange){  
        var rng = tObj.createTextRange();  
        rng.move('character', sPos);  
        rng.select();  
    }  
} 
var sPos = tObj.value.length 这句和框架冲突了,加.length就报错[/quote] var sPos = tObj.length;或者var sPos = tObj.value都行,但是var sPos = tObj.value.length就提示****不能为null
-一个大坑 2017-06-26
  • 打赏
  • 举报
回复
引用 1 楼 qq_32661557 的回复:

var tObj =$("input[name='CARNO']");  
var sPos = tObj.value.length;  
setCaretPosition(tObj, sPos); 
function setCaretPosition(tObj, sPos){  
    if(tObj.setSelectionRange){  
        setTimeout(function(){  
            tObj.setSelectionRange(sPos, sPos);  
            tObj.focus();  
        }, 0);  
    }else if(tObj.createTextRange){  
        var rng = tObj.createTextRange();  
        rng.move('character', sPos);  
        rng.select();  
    }  
} 
var sPos = tObj.value.length 这句和框架冲突了,加.length就报错
本人QQ-554433626 2017-06-26
  • 打赏
  • 举报
回复

var tObj =$("input[name='CARNO']");  
var sPos = tObj.value.length;  
setCaretPosition(tObj, sPos); 
function setCaretPosition(tObj, sPos){  
    if(tObj.setSelectionRange){  
        setTimeout(function(){  
            tObj.setSelectionRange(sPos, sPos);  
            tObj.focus();  
        }, 0);  
    }else if(tObj.createTextRange){  
        var rng = tObj.createTextRange();  
        rng.move('character', sPos);  
        rng.select();  
    }  
} 

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧