курсор редактора ace ведет себя неправильно

я использую Ace editor в своем проекте.

CSS:

#editor {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:white;
}

JavaScript:

var editor = ace.edit("editor");
editor.setTheme("ace/theme/textmate");
editor.getSession().setMode("ace/mode/java");

#editor содержится в относительно расположенном div.

проблема трудно объяснить, но я постараюсь.

всякий раз, когда я набираю текст в Ace, поскольку размер строки увеличивает пробелы в фактическом положении курсора, и это ожидаемое положение увеличивается.

например, когда я набираю "это текст", он показывает, как это:

This is text           |

теперь, когда я нажимаю клавишу backspace, он удалит последний символ в строке " t " и покажет:

This is tex           |

Я искал об этой проблеме в Google нашел одну аналогичную проблему для браузера chrome, когда масштаб установлен на 120. но я работаю над браузером Firefox.

1 ответов


Ace может отображать только моноширинные шрифты, проблема, которую вы описываете, может произойти, если что-то изменяет шрифт редактора на немоноширинный или назначает разные шрифты различным частям редактора.

(на ubuntu был аддон firefox, который менял все шрифты на немонопольные)