1

首先,如果有人对此问题有另一个更具体和更好的标题,请告诉我,我会改变。我从来不擅长使用谷歌,所以......

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

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

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

提前致谢

4

2 回答 2

2

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

function moveCursorToEnd(el) {
    'use strict';
    var index=el.value.length;
    el.focus();
    el.setSelectionRange(index,index);
}
于 2014-02-18T16:48:42.823 回答
0

第一个想法

用于style='text-align:right'更改文本对齐方式。

将光标置于末尾

要将光标放在可编辑元素的末尾,请使用fiddle
对于 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" >
于 2013-10-23T17:43:28.683 回答