将光标放在javascript中的文本框末尾

前端之家收集整理的这篇文章主要介绍了将光标放在javascript中的文本框末尾前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个文本框,当我进行焦点时,我希望光标转到文本框的末尾.

不断涌现的解决方案就是

this.value = this.value

我用一个简单的方法尝试了这个:

function InputClicked(element) {
    element.className = "inputfocused";
    element.value = element.value;
}

但奇怪的是这个,它似乎转到结束然后跳到文本框的开头.

解决方法

你必须集中元素并设置插入位置

这个JSFiddle向您展示它是如何工作的.在这个例子中,jQuery已被用于简化,但如果需要,可以完全省略它.无论如何,setSelectionRange函数是一个DOM函数.

通常它会这样做:

input.focus();
input.setSelectionRange(inputValueLength,inputValueLength);

可以使用DOM功能或使用库函数(如jQuery中)获取输入及其值长度.

我们需要输入值长度吗?

我没有在其他浏览器中测试过,但在Chrome中运行它可以设置比实际位置更大的位置,插入符号将位于最后.所以类似于:

input.setSelectionRange(1000,1000);

将按预期工作(假设您的文本短于1000个字符.:)

Note: This function isn’t supported in IE8 and older. All latest versions of most used browsers support it. For older versions of IE resort to text ranges.

猜你在找的JavaScript相关文章