如何将光标放在ExtJS中TextField的末尾

时间:2019-07-12 13:00:18

标签: javascript extjs

我有一个用户可以在其中编辑数据的字段。我使用focus()将光标直接放置到适当的TextField上。但是,它始终位于单词的开头。

这是我的方法:

  xtype: 'textfield',
  value: record ? record.get('value') : '',
  listeners: {
    afterrender: function(field) {
      field.focus(false);
    }
  }

有没有一种方法可以将光标放在现有单词的末尾?

2 个答案:

答案 0 :(得分:1)

如果将选择区域更改为文本字段的末尾,则将获得相同的结果。使用setSelectionRange()来完成。您可以这样:

xtype: 'textfield',
value: record ? record.get('value') : '',
listeners: {
    afterrender: function(field) {
        field.focus(false);
        var len = field.value.length;
        field.inputEl.dom.setSelectionRange(len,len);
    }
}

答案 1 :(得分:0)

添加field.selectionStart = field.selectionEnd应该可以解决问题。

xtype: 'textfield',
value: record ? record.get('value') : '',
listeners: {
    afterrender: function(field) {
        field.focus(false);
        field.selectionStart = field.selectionEnd;
    }
}