Курсор редактора курсора ведет себя неправильно - программирование
Подтвердить что ты не робот

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

Я использую редактор Ace в своем проекте.

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.

Спасибо.

4b9b3361

Ответ 1

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

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