$("#myinputfield").focus();
在已设置值的输入字段上执行此操作会导致选择当前值。如何在不选择文本的情况下聚焦字段?
答案 0 :(得分:27)
我已经搜索了一下,有点发现你应该重点将你的值重新设置到所需的字段。
答案 1 :(得分:26)
如何将这样的内容设置为聚焦后将输入字段的值设置为自身?
$("#myinputfield").focus().val($("#myinputfield").val());
答案 2 :(得分:6)
其他答案建议在聚焦后将输入字段的值设置为自身。如果在Firefox中,光标出现在输入的开头,并且您希望它在最后,则需要稍作修改。您必须先将值设置为空,然后将其设置为之前的值。
var value = $("#myinputfield").val();
$("#myinputfield").focus().val('').val(value);
答案 3 :(得分:3)
你试过这个吗?
var txt = $("#myinputfield").val();
$("#myinputfield").focus();
$("#myinputfield").val( txt );
答案 4 :(得分:0)
function focusField(id){
var inputField = document.getElementById(id);
if (inputField != null && inputField.value.length != 0){
if (inputField.createTextRange){
var FieldRange = inputField.createTextRange();
FieldRange.moveStart('character',inputField.value.length);
FieldRange.collapse();
FieldRange.select();
}else if (inputField.selectionStart || inputField.selectionStart == '0') {
var elemLen = inputField.value.length;
inputField.selectionStart = elemLen;
inputField.selectionEnd = elemLen;
inputField.focus();
}
}else{
inputField.focus();
}
}
答案 5 :(得分:0)
$(document).ready(function() {
var $field = $("#formloginusername"),
oldVal = $field.val();
$field.focus().val('').val(oldVal);
});
DEMO:http://jsfiddle.net/X7Y8S/
我拿了代码&来自ahren在其他主题中的答案的演示,我觉得它很有用。
答案 6 :(得分:0)
这个解决方案对我很有用:
$("#myinputfield").focus(function (event) {
var value = $("#myinputfield").val();
setTimeout(function() {
$("#myinputfield").val(value);
},10);
});