首先,如果有人对此问题有另一个更具体和更好的标题,请告诉我,我会改变。我从来不擅长使用谷歌,所以......
我目前正在使用以下代码来创建输入字段
<input name="igname" type="text" maxlength="40" autofocus="autofocus" value="Hi">
它工作正常,但只有一个问题 - >光标在左边,我希望它在右边,但我不知道该怎么做。
提前致谢
JoDev 的答案似乎不适用于 FF,可以简化。el 是表示输入的 DOM 元素。
function moveCursorToEnd(el) {
'use strict';
var index=el.value.length;
el.focus();
el.setSelectionRange(index,index);
}
用于
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" >