В настоящее время в Firefox, когда я нажимаю клавишу возврата в абзаце contenteditable
, он вставляет тег br
, создает новый тег абзаца, а затем помещает тег br
внутрь этого нового абзаца. Я хотел бы изменить поведение таким образом, чтобы
- Shift+enter = тег br (это уже по умолчанию)
- Enter дублирует текущий элемент, будь то p, li, h1.. и т. д., и удаляет все замыкающие или ведущие (спецификация W3C требует некоторых событий, которые я мог бы использовать, но я совсем не уверен, как их реализовать.
- Backspace в начале элемента объединит его с предыдущим элементом, если он существует.
- Удалить в конце элемента объединит его со следующим родственным элементом, если он существует.
Я бы счел очень полезным, если бы кто-нибудь знал, как ..
- Получить и/или установить текущую позицию курсора в редактируемом абзаце.
- предотвратить поведение по умолчанию contenteditable
- прикрепите события, требуемые рекомендацией W3C. http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-mutationevents
Возможно, кто-то даже знает о пользовательском агенте (браузере), который уже ведет себя таким образом. Это приемлемо.