Как я могу заменить символ в событии OnChanging, используя Regex и сохраняя курсор в конце EditText в ExtendScript? - PullRequest
0 голосов
/ 21 декабря 2018

Мне нужно ввести TextBox и сразу увидеть результат в StaticText.Чтобы избежать "" (пробел), я заменяю его с помощью регулярных выражений.Он работает, но курсор перемещается влево каждый раз при нажатии клавиши пробела.Его заменяют на «_», но, поскольку курсор перемещается на первую позицию в моем окне «EditText», становится невозможным продолжать печатать свободно.

editText.onChanging = function(){
  if (this.text.match(/\s*$/i)) {
    this.text = this.text.replace(/ /g, "_");
  }
  staticText.text = this.text;
}

Как мне ввести этот текст редактирования, заменяя все пробелысимвол и удерживать курсор в конце строки?

1 Ответ

0 голосов
/ 29 декабря 2018

Я нашел решение.

Чтобы заменить символ с помощью Regex и сохранить курсор в конце строки, вы должны сохранить результат замены в переменной, очистить текстовое поле и использоватьвыделение текста, чтобы вернуть его в текстовое поле редактирования.

editText.onChanging = function(){    
     if (this.text.match(/\s*$/i)) {    
          var text = this.text.replace(/ /g, "_");  
          this.text = "";  
          this.textselection = text;  
     }  
     staticText.text = this.text;    
} 
...