Как переместить курсор после вставленного BBcode?

Как изменить код, чтобы курсор автоматически располагался после вставленного BBcode в textarea, а не в конце всего текста?
  • 6 октября 2023 г. 11:57
Ответы на вопрос 2
Для перемещения курсора после вставленного BBcode в `textarea`, вам потребуется некоторое количество JavaScript кода.

1. Получите позицию текущего курсора в `textarea` с помощью `selectionStart` и `selectionEnd`. Например:

```javascript
var textarea = document.getElementById("myTextarea");
var startPosition = textarea.selectionStart;
var endPosition = textarea.selectionEnd;
```

2. Вставьте ваш BBcode в `textarea` в позиции курсора. Например, вставим BBcode `[b][/b]`:

```javascript
textarea.value = textarea.value.substring(0, startPosition) + '[b][/b]' + textarea.value.substring(endPosition, textarea.value.length);
```

3. Переместите курсор после вставленного BBcode, установив `selectionStart` и `selectionEnd` в позицию после вставленного кода. Например:

```javascript
var newPosition = startPosition + 3; // Добавляем 3, чтобы переместить курсор после трех символов BBcode вставки. Может потребоваться изменение этого значения в зависимости от кода BBcode.
textarea.selectionStart = newPosition;
textarea.selectionEnd = newPosition;
```

Обратите внимание, что ваш `textarea` должен иметь атрибут `id="myTextarea"` или вы должны использовать соответствующий идентификатор в функции `getElementById()`.
Вставьте курсор в нужное место, используя методы field.select() и field.setSelectionRange().
Похожие вопросы