У редактора статей вк поля для ввода текста являются тегами h1 и p. Как это самому сделать и для чего это?
Нужно самому слушать на элементах события клавиш, а также на телефоне самому открывать клавиатуру, чтобы вводить текст и слушать событие взаимодействия с клавиатурой, чтобы вводить в эти теги?
Для тега установите атрибут contenteditable="true".
Зачем? Возможность редактирования и форматирования текста на странице, который потом можно отправить на сервер.
<h1 contenteditable="true">Меня можно редактировать</h1>
Дополню ответ @xydope, чтобы не добавлять атрибут к элементу через html, можно поменять через js так: elem.contentEditable = 'true'
С помощью свойства elem.isContentEditable можно узнать, редактируемый это элемент или нет
Можно слушать у редактируемого элемента, когда поле ввода активно и не активно с помощью слушателей focus и blur соответственно
elem.contentEditable = 'true';
if (elem.isContentEditable) {
elem1.innerHTML = `${elem.id} - редактируемый элемент`;
}
elem.addEventListener('focus', () => {
elem2.innerHTML = `${elem.id} - в фокусe`;
});
elem.addEventListener('blur', () => {
elem2.innerHTML = `${elem.id} - не в фокусе`;
});
#elem {
border: 1px solid black;
width: 200px;
padding: 0 10px;
}
<h1 id="elem"></h1>
<div id="elem1"></div>
<div id="elem2"></div>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей