【发布时间】:2009-03-21 04:03:41
【问题描述】:
我遇到的问题是,给定一个最大长度的输入元素比元素的宽度宽得多(在其样式中设置),并且,给定一个比元素宽度宽的值,我怎么能得到要“滚动”到文本末尾的元素。在 IE 中很容易,我创建了一个 textRange 对象,将它的开始和结束位置放在文本的末尾,在该范围上调用 select,然后 bam,光标放在文本的末尾并且文本被移动了显示结束。在 Firefox、Chrome、Safari 中,尝试使用输入元素的 setSelectionRange 将光标设置在正确的位置,但文本没有移动,所以我看到它的结尾,而是开始。有人知道我可以将光标放在文本末尾并移动文本以便我可以看到光标的方法吗?
谢谢!
肖恩
<html>
<head>
<title>input cursor position</title>
<script language='javascript'>
function setCursor()
{
var objInput = document.getElementById( 'testinputbox' );
var nLength = objInput.value.length;
objInput.focus();
objInput.setSelectionRange( nLength, nLength );
}
</script>
</head>
<body onload='setCursor();'>
<input id='testinputbox' maxlength='200' value='some very very very very very long text' style='width: 100px;'></input>
</body>
</html>
【问题讨论】:
-
这是遥远的未来,两千年。我们是网络开发人员。自 90 年代末的 HTML4 规范以来,世界就大不相同了。我们不再使用
-
This solution,适用于
标签: javascript html firefox w3c