Можно ли отключить или управлять «командами» в элементах contentEditable?

Насколько я понимаю,элемент с contentEditable = "true" является своего рода редактором WYSIWYG HTML. Он генерирует соответствующие HTML-теги, соответствующие выданной команде.

Например, если кто-то выделяет текст и затем нажимает Ctrl + B , выбранный текст помещается между < b> теги.

Мне не нужно иметь тегов стиля в результирующем тексте. Как подавить, захватить или контролировать поведение этих команд?

Другие вещи, которые я мог бы сделать:

  • Отфильтровать теги постфактум; но тогда пользователь подумает, что он выделил что-то жирным, хотя на самом деле он этого не сделал
  • Измените стиль тегов, чтобы они не отображались, а затем отфильтруйте их; но есть шанс, что я забуду один или что таблица стилей каким-то образом отключена
  • Не использовать contentEditable вообще, а вместо этого textarea . Но, помимо прочего, contentEditable позволяет очень легко выделить редактируемый абзац. Это гораздо сложнее сделать с текстовым полем .
19
задан Brian Tompsett - 汤莱恩 5 September 2019 в 18:37
поделиться