Javascript 在向上键上获取光标位置
我对javascript或jquery不是很有经验。我需要弄清楚用户的光标是否位于文本输入字段的最后一个位置,并且在向上键时maxlength为3。如果是,请将焦点切换到下一个字段。我在表单上看到了很多这样的功能,所以我认为每个人都可以理解我正在寻找的半通用功能。所涉及的输入字段不是text类型,而是tel类型 我试图在这里找到这个问题的答案,但我无法理解我所问的类似问题的任何答案,但不完全相同。例如,它提到selectionStart和selectionEnd,但我找不到真正解释它们的地方。在我看来,他们似乎涉及选定的文本,但这不是我想要的 我希望在用户键入时对此进行检查。下面是我试图看看是否可以得到正确的值,但它返回未定义的值Javascript 在向上键上获取光标位置,javascript,jquery,Javascript,Jquery,我对javascript或jquery不是很有经验。我需要弄清楚用户的光标是否位于文本输入字段的最后一个位置,并且在向上键时maxlength为3。如果是,请将焦点切换到下一个字段。我在表单上看到了很多这样的功能,所以我认为每个人都可以理解我正在寻找的半通用功能。所涉及的输入字段不是text类型,而是tel类型 我试图在这里找到这个问题的答案,但我无法理解我所问的类似问题的任何答案,但不完全相同。例如,它提到selectionStart和selectionEnd,但我找不到真正解释它们的地方。在
$("#phone1").keyup(function(){
var phone = $("#phone1");
alert(phone.selectionEnd);
});
对不起,如果我不明白其中的一些。如蒙协助,将不胜感激。谢谢。这就是你要找的吗
(function ($, undefined) {
$.phone1.getCursorPosition = function() {
var el = $(this).get(0);
var pos = 0;
if('selectionStart' in el) {
pos = el.selectionStart;
} else if('selection' in document) {
el.focus();
var Sel = document.selection.createRange();
var SelLength = document.selection.createRange().text.length;
Sel.moveStart('character', -el.value.length);
pos = Sel.text.length - SelLength;
}
return pos;
}
})(jQuery);
$("#phone1").on('keypress', function(e){
var key = String.fromCharCode(e.which);
if(key === '*') {
var position = $(this).getCursorPosition();
console.log(position);
} else {
return false;
}
});
字体:我认为非常相似。基本上,您应该绑定的jquery事件是“change”事件,它将在每次发生更改时触发,如新输入或删除输入等 e、 g 在上面的代码中,该代码将把焦点转移到下一个输入上,而不考虑类型
$(this).next('input').focus();
HTML标记应如下所示:
<input type="tel" maxlength="4" id="telNo">
<input type="text" maxlength="4" id="text">
这是一把小提琴
如果有问题,请查看链接。。它和你的非常相似。
<input type="tel" maxlength="4" id="telNo">
<input type="text" maxlength="4" id="text">