【发布时间】:2009-12-15 17:58:42
【问题描述】:
我有几个带有默认值的输入字段。我定义了 tabindexes 以使用选项卡按钮从一个字段跳转到另一个字段。问题是当我到达一个字段时,整个文本都被选中,如果我开始输入,它就会被替换。我想将光标位置设置为预填充文本的末尾。我该怎么做?
【问题讨论】:
标签: javascript html forms
我有几个带有默认值的输入字段。我定义了 tabindexes 以使用选项卡按钮从一个字段跳转到另一个字段。问题是当我到达一个字段时,整个文本都被选中,如果我开始输入,它就会被替换。我想将光标位置设置为预填充文本的末尾。我该怎么做?
【问题讨论】:
标签: javascript html forms
通过在每个节点上定义 onfocus 事件。并将插入符号位置设置到最后。由于默认的焦点/点击行为,应该推迟设置光标。
function setCursorAtEnd(node){
setTimeout(function(){
setCursor(node,node.value.length);
},10);
}
<input onfocus="setCursorAtEnd(this)" value="bla"/>
你可以在这个问题中找到setCursor 函数:Set cursor at a length of 14 onfocus of a textbox
【讨论】:
我相信你不能用js设置光标位置,但是你可以挂钩一个函数来在第一次按键后重置预填充的文本。
【讨论】: