Val*_*sin 5 javascript jquery focus
当我尝试这样做时,.focus()我希望将焦点设置在输入元素上,并在值的最后一个字符后面看光标.我在IE中看到它.
在safari/chrome输入中获得焦点并选择所有文本.在firefox/opera中输入获得焦点,但光标在开头.
我该怎么做才能防止这种情况并为所有浏览器获得正确的行为?
这里有一个例子:http://jsbin.com/ozojol/edit#javascript,html
PS.focus().val('').val(value)方法在IE中不起作用...还存在哪些其他解决方法?
你可以在大多数浏览器中使用输入selectionStart和selectionEnd属性,TextRange在IE <9中使用一些讨厌的东西.这里有一些代码改编自类似问题的答案.
码:
function moveCaretToEnd(el) {
if (typeof el.selectionStart == "number") {
el.selectionStart = el.selectionEnd = el.value.length;
} else if (typeof el.createTextRange != "undefined") {
var range = el.createTextRange();
range.collapse(false);
range.select();
}
}
var input = $('#i')[0];
input.focus();
moveCaretToEnd(input);
Run Code Online (Sandbox Code Playgroud)