Для приложения, которое мы разрабатываем в компании, где я работаю, нам нужен вход, который поддерживает вставку смайликов внутри нашего веб-приложения на основе JS. В настоящее время мы используем ввод с яркими кодами смайликов (например, ':-)') и хотели бы переключиться на вставку фактических графических изображений.
Наш первоначальный план состоял в использовании contenteditable
<div>
. Мы используем прослушиватели для события вставки, а также различные взаимодействия с клавишами/мышью, чтобы гарантировать, что нежелательная разметка не попадет в контентную информацию (мы выкладываем текст из своих тегов контейнера и оставляем только теги изображений, которые мы вставили сами).
Однако проблема прямо сейчас заключается в том, что div изменяет размер, если вы разместите достаточно контента (т.е. увеличите его высоту). Мы не хотим, чтобы это произошло, и неприемлемо, чтобы текст был просто скрыт (т.е. простой overflow: hidden
). Итак:
Есть ли способ сделать contenteditable div вести себя как однострочный ввод?
Я бы хотел, чтобы это было лучше, если бы было относительно простое свойство attribute/css, которое я пропустил, что будет делать то, что я хочу, но при необходимости также будут предложены предложения CSS + JS.