我有这个文本框:
<input type="text" name="url" id="url-input" />
和这段代码:
var inputText = "Hello World";
$(document).ready(function() {
$("#url-input").focus();
$("#url-input").val(inputText);
});
实际上,光标显示在文本框末尾的“Hello World”之后(无论我按哪个顺序添加焦点或更改值)。我该怎么把它移到前面?
由于
编辑 - 这是jsFiddle:http://jsfiddle.net/dmRND/
答案 0 :(得分:7)
在不错的网络浏览器中,您可以访问代表所选内容的selectionStart
和selectionEnd
属性。当它们都是0
时,它归结为没有选择和开头的插入符号:
$("#url-input").prop('selectionStart', 0)
.prop('selectionEnd', 0);
jQuery的另一个方面是链接:$(...).func1().func2()
,所以你只需要一次选择器。
jQuery的另一个问题是大多数函数都支持将对象作为参数,所以你也可以这样做:
$("#url-input").prop({ selectionStart: 0,
selectionEnd: 0 });
答案 1 :(得分:0)
我使用这个小jquery插件: https://gist.github.com/DrPheltRight/1007907