Ответ 1
Как насчет захвата события клавиатуры пользователя нажатием клавиши Enter?
Как поместить <br />
только в div contenteditable, пока пользователь нажимает клавишу ENTER? Я должен управлять содержимым этого div в XML после отправки, но некоторые браузеры переводят новые строки как <p>
, некоторые (в Google Chrome) в качестве <div>
.
Хорошим решением станет заставить новые строки одинаковыми во всех браузерах (только <p>
или только <div>
).
PS: Я использую jQuery и PHP.
Как насчет захвата события клавиатуры пользователя нажатием клавиши Enter?
Не уверен, но обратите внимание, что <shift> <enter> обычно вставляет символ < br/" > , я belive.
Интересно, можете ли вы заставить сдвиг в onKeypress?
Попробуйте следующее: <div contenteditable="true">test1<div></div></div>
Вы можете форсировать одноразовый интервал, когда вы нажимаете return в редактируемом для контента элементе, высевая его внутренним DIV следующим образом:
div {white-space: pre};
"белое пространство" Значение: нормальное | pre | nowrap | предварительная упаковка | pre-line | унаследовать Начальное: нормальное Применяется к: всем элементам Унаследовано: да Процентное: N/A Медиа: визуальное Вычисленное значение: как указано
Это свойство объявляет, как выполняется свободное пространство внутри элемента. Значения имеют следующие значения:
нормальный Это значение позволяет агентам пользователя сбрасывать последовательности пробелов и разрывать строки, если необходимо, для заполнения строк. до Это значение не позволяет агентам пользователя сбрасывать последовательности белого пробела. Линии только разбиваются на новые строки в источнике или на вхождениях "\ A" в сгенерированном контенте. Nowrap Это значение сокращает пробел, как для "нормального", но подавляет разрывы строк в тексте. предварительно обертка Это значение не позволяет агентам пользователя сбрасывать последовательности белого пробела. Строки разбиты на строки новой строки в источнике, при появлении "\ A" в сгенерированном контенте и, если необходимо, для заполнения строк. до линии Это значение позволяет агентам пользователя сбрасывать последовательности пробелов. Строки разбиты на строки новой строки в источнике, при появлении "\ A" в сгенерированном контенте и, если необходимо, для заполнения строк.
Новые строки в источнике могут быть представлены возвратом каретки (U + 000D), линией перевода (U + 000A) или обоими (U + 000D U + 000A) или каким-либо другим механизмом, который идентифицирует начало и конец документа сегментов, таких как маркеры SGML RECORD-START и RECORD-END. Модель обработки "белого пространства" CSS предполагает, что все новые строки были нормализованы для линейных каналов.
Пример (ы):
В следующих примерах показано, какое поведение белого пространства ожидается от элементов PRE и P и атрибута nowrap в HTML.
pre {white-space: pre} p {white-space: normal} td [nowrap] {white-space: nowrap}