HTML自动聚焦在具有值的输入字段中

时间:2013-10-23 17:40:03

标签: html text autofocus

首先,如果有人对这个问题有另一个更具体和更好的标题,请告诉我,我会改变。我从未擅长使用Google ......

我目前正在使用以下代码来创建输入字段

<input name="igname" type="text" maxlength="40" autofocus="autofocus" value="Hi">

它工作正常,但只有一个问题 - &gt;光标在左边,我希望它在右边,但我不知道该怎么做。

提前致谢

2 个答案:

答案 0 :(得分:2)

JoDev的答案似乎不适用于FF,可以简化。 el是表示输入的DOM元素。

function moveCursorToEnd(el) {
    'use strict';
    var index=el.value.length;
    el.focus();
    el.setSelectionRange(index,index);
}

答案 1 :(得分:0)

基本想法

  

使用style='text-align:right'更改文字对齐。

将游标放到最后

要将光标放在可编辑元素的末尾,请使用:tested function | fiddle
对于小提琴,它在Chrome上效果很好,但在FF中,你必须关注元素,因为IFRAME默认没有焦点!

moveCursorToEnd = function(el, focused) {
console.log('go');
if (typeof el.selectionStart == "number") {
    el.selectionStart = el.selectionEnd = el.value.length;
} else if (typeof el.createTextRange != "undefined") {
    if(!focused)
        el.focus();
    var range = el.createTextRange();
    range.collapse(false);
    range.select();
}
if(!focused)
    el.focus();
}

onbodyload = function() {
    elem = document.getElementById('totheend');
    moveCursorToEnd(elem);
}
<body onload='onbodyload()'>...
<input class='totheend' onfocus="if(typeof moveCursorToEnd != 'undefined') moveCursorToEnd(this, true)" name="igname" type="text" maxlength="40" autofocus="autofocus" value="Hi" >