【问题标题】:define cursor position in form input field在表单输入字段中定义光标位置
【发布时间】:2009-12-15 17:58:42
【问题描述】:

我有几个带有默认值的输入字段。我定义了 tabindexes 以使用选项卡按钮从一个字段跳转到另一个字段。问题是当我到达一个字段时,整个文本都被选中,如果我开始输入,它就会被替换。我想将光标位置设置为预填充文本的末尾。我该怎么做?

【问题讨论】:

    标签: javascript html forms


    【解决方案1】:

    通过在每个节点上定义 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

    【讨论】:

    • 只有当我用鼠标去现场时,该功能才有效。如果我在字段之间使用选项卡按钮切换我没有效果:(
    • 尝试超时。我已经确定了答案。它应该会有所帮助。
    【解决方案2】:

    我相信你不能用js设置光标位置,但是你可以挂钩一个函数来在第一次按键后重置预填充的文本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 2015-11-20
      • 2011-02-23
      相关资源
      最近更新 更多