Попытка создать простой редактор HTML.
$('#edit').on('input', function(e){
console.log($(this).html());
});
.edit{
background:gold;
min-height:140px;
font-size:1.6em;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='edit' id='edit' contenteditable></div>
введите его в div edit
:
lorem
ipsum
, затем поместите курсор в конец lorem
- и нажмите spacebar
и del
на клавиатуре, чтобы получить это:
lorem ipsum
, и вы увидите проблему - ipsum
имеет гораздо больший размер шрифта, чем lorem
.
Это первый вопрос - как этого избежать?
Моя вторая попытка использовала textarea
вместо contenteditable div, но в этом случае я не могу использовать document.execCommand
, чтобы изменить некоторый текст на bold
и т. Д.
Так как же это сделать?установить html-теги внутри textarea
, как это делается здесь на stackoverflow
, или на wordpress
сайтах и так далее?
Моя конечная цель - предоставить простому редактору всего несколько команд - bold, italic and align
Пользователи должны иметь возможность печатать и стилизовать текст, а нажатие на кнопку должно получить HTML-контент.
Любая помощь?