【问题标题】:How to set mask textfield cursor at start position?如何在开始位置设置掩码文本字段光标?
【发布时间】:2019-02-20 17:43:59
【问题描述】:

我正在使用反应掩码文本字段组件。当我点击它时,输入光标总是出现在掩码的末尾。输入焦点时如何在“+7(”之后设置光标?

 <MaskedTextfield
    inputId="masktextfield"
    className="tf"
    reference={this.props.reference}
    maskedValue={this.props.maskedValue}
    numOfErrorMsgs={1}
    showMask
    guide
  />

【问题讨论】:

  • 移除guide或设置为false

标签: javascript reactjs masking


【解决方案1】:

您可以使用setSelectionRange(0,0);。 首先获取对元素的引用,然后应用该函数。在纯 JS 中,onFocus 或 onClick 函数是这样的:

var textfield = document.getElementById('masktextfield');
textfield.setSelectionRange(0,0);

【讨论】:

  • 有一个错误“属性 'setselectionrange' 在类型 'htmlelement' 上不存在”
  • 也许您需要将值转换为 HTMLInputElement link
  • 谢谢,我已经修好了。但是还有一个问题。如果设置 setSelectionRange(4,4) 它仍然会在末尾显示光标,但使用 (4,5) 如上图(刚刚添加)显示选择。不选怎么做?
  • 这就是setSelectionRange 所做的,如果将其设置为 4,5,则选择一个字符。 4,4 应该将光标设置在位置 4(从零开始的索引) 我不知道它为什么会失败。测试它here 它按预期工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-10
  • 2022-01-11
  • 1970-01-01
  • 2011-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多