Вырвавшись и / или удаление пункта в contenteditable блоке - PullRequest
2 голосов
/ 29 августа 2011

Я недавно много играл с contenteditable. Я выбрал простой прототип редактора, которым я вполне доволен. Есть одна вещь, которая озадачивает меня.

Если у меня есть абзац и мой курсор (каретка) находится внутри него, вот так:

<p>some text |</p>

Как мне вырваться из абзаца? Есть ли комбинация клавиш или execCommand, которую можно использовать для выхода из нее на следующей строке?

Если поместить курсор (каретку) в конец абзаца и нажать клавишу ввода, будет создан новый пустой тег p. Это нормально при написании текстовых блоков. Но, скажем, я хочу вставить изображение или кодовый блок. Я не хочу, чтобы это было внутри тега p, но я не вижу способа вырваться.

Я попытался выделить весь блок p и затем использовать:

document.execCommand('removeFormat', false, null);

, который работает для другого встроенного форматирования (например, жирным шрифтом), но ничего не делает в этом случае.

Вот пример JsFiddle , который может иметь больше смысла.

Спасибо

...