Ответ 1
Стандартный input
элемент ограничен входом обычного текста. Это отлично подходит для большинства ситуаций, когда вы ищете вход от пользователя.
Однако, как Facebook, так и Twitter предлагают что-то, что выходит за рамки обычного текста:
Как вы можете видеть, это больше, чем просто текст: форматирование. Как Facebook, так и Twitter поддерживают встроенное форматирование для особых вещей, таких как упоминания и хэш-теги. Чтобы отформатировать их в другом стиле, они не могут использовать элемент input
, но должны отображать контент по-разному.
Вместо этого они используют редактируемый контент элемент, чтобы позволить пользователям вводить контент, сохраняя при этом все возможности форматирования.
Обратите внимание, что хотя contenteditable
предлагает множество способов форматирования материала, это может быть и кошмар, если вы строите что-то более сложное. Средний, предлагающий очень мощный и полезный текстовый редактор, писал об этой теме до, о том, как они построили свой редактор, какие проблемы они столкнулись и как они пытались обойти его.