lightalex
@lightalex

Как обернуть выделенный текст textarea в теги при нажатии на CTRL+B?

Всем привет!
Как сделать чтобы выделенный в textarea текст оборачивался в теги ([b]текст[/b]) при нажатии на CTRL+B?
  • Вопрос задан
  • 1704 просмотра
Решения вопроса 2
azhidkov
@azhidkov
Написал небольшое решение который добавляет теги к выделенному тексту. Проверил только в FF. По хорошему, его нужно будет допроверить, но возможно, направит вас в нужное направление.
Решение - на jsfiddle.net

и тут для дублирования:
// Доваляем <textarea id="text" rows="3" columns="3"></textarea>
var text = document.getElementById('text');
text.addEventListener('keydown', function(e) {
	if (e.ctrlKey && e.keyCode == 66) {
    	  if (text.selectionStart != undefined) {
    	    var startPos = text.selectionStart;
    	    var endPos = text.selectionEnd;
    	    var selectedText = text.value.substring(startPos, endPos)
    
            if (selectedText) {
              var v = text.value.substring(0, startPos);
              v += '[b]' + selectedText + '[/b]';
              v += text.value.substring(endPos);
         
              text.value = v;
            }
         }
     }
});


детали см. на stackoverflow.com
Ответ написан
Комментировать
Stac
@Stac
Если предусмотрен wysiwyg редактирование текста, то
это можно сделать путем скрытия textarea, появлением на его месте div тех же размеров с установленным атрибутом conteneditable. Пользователь вводит текст, поддержка CTRL-B обеспечивается браузером.
В конце innerHTML переносится в value textarea. HTML чистится и HTML теги заменяются на bb-code.
Иначе,
см. ответ от Валерий Селицккий
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
https://developer.mozilla.org/en-US/docs/Web/API/S...

Там есть все для этого.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы