获取键上的光标位置

时间:2017-03-09 21:53:55

标签: javascript jquery

我对javascript或jquery不是很有经验。我需要确定用户的光标是否位于文本输入字段的最后位置,其中键长为maxlength 3。如果是这样,请将焦点切换到下一个字段。我已经看到这在表格上做了很多,所以我认为每个人都可以理解我正在寻找的半常见功能。有问题的输入字段不是文本类型,而是类型tel

我试图在这里找到这个问题的答案,但我无法理解我所问的类似问题的任何答案,但不完全相同。例如,它提到了selectionStart和selectionEnd,但是我找不到真正解释它们的位置。在我看来,他们喜欢选择的文字,但这不是我想要的。

我想在用户输入时检查这个。这是我试过的,看看我是否可以获得正确的值,但它返回undefined。

$("#phone1").keyup(function(){
    var phone = $("#phone1");
    alert(phone.selectionEnd);
}); 

很抱歉,如果我不理解其中一些。任何帮助将不胜感激。感谢。

2 个答案:

答案 0 :(得分:0)

这是你要找的?

main

font:Get keyup position using jquery我觉得非常相似..

答案 1 :(得分:0)

基本上,你应该绑定的jquery事件是'change'事件,这将触发每次发生的更改,如新输入或删除输入等。

e.g。

(function(){

    $('#telNo').on('input' , function(){
            if($(this).val().length == $(this).attr('maxlength'))
            $(this).next('input').focus();
  });

})();

在上面的代码中,无论类型

,此代码都会将焦点转移到下一个输入
$(this).next('input').focus();

并且HTML标记应该是这样的:

<input type="tel" maxlength="4" id="telNo">
<input type="text" maxlength="4" id="text">

这是一个工作小提琴

JS Fiddle