【问题标题】:Cursor location in text-input fields文本输入字段中的光标位置
【发布时间】:2010-12-20 10:54:30
【问题描述】:
有很多关于如何将光标准确放置在文本区域中的信息。似乎都不适用于<input type="text"> 字段。
基本上,当页面加载时,我有一个包含文本的输入字段,并且它是聚焦的。问题是光标位于预写文本的末尾。我需要它在一开始。或者,隐藏光标也可以。实际上更好,但我不知道这是否可能。
理想情况下,这将在 jQuery 中完成,但常规 JS 也可以。
谢谢!
马拉
【问题讨论】:
标签:
javascript
jquery
text
input
【解决方案1】:
这可以使用选择属性来完成:
$('#my-element-id').attr({
selectionStart : 0,
selectionEnd : 0
});
【解决方案2】:
不确定 jQuery 对 Jordan 的回答做了什么,但这个可能是跨浏览器的:
function setSelectionRange(inputEl, selStart, selEnd) {
if (inputEl.setSelectionRange) {
inputEl.focus();
inputEl.setSelectionRange(selStart, selEnd);
} else if (inputEl.createTextRange) {
var range = inputEl.createTextRange();
range.collapse(true);
range.moveEnd('character', selEnd);
range.moveStart('character', selStart);
range.select();
}
}
如果你将它与 jQuery 耦合,请像这样使用它:
$(document).ready(function() {
$('input[type="text"]').each(function() {
setSelectionRange(this, 0, 0);
});
});
顺便说一句,这段代码完全未经测试。
编辑:在我看到您正在寻找输入元素后更新了代码...