Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Использование <p> вместо <div> в текстовом редакторе (https://javascript.ru/forum/jquery/46554-ispolzovanie-p-vmesto-div-v-tekstovom-redaktore.html)

Sanu0074 14.04.2014 20:55

Использование <p> вместо <div> в текстовом редакторе
 
Вложений: 1
Есть простенький текстовый редактор (прикрепил архив), по нажатию enter создается строка <div></div>, и в нее попадает уже новый контент. Нужно заменить эту <div></div> на <p></p>. Перековырял код, никак не могу найти где создается тэг, помогите пожалуйста сделать данную замену)

рони 14.04.2014 21:52

Sanu0074,
это не редактор виноват это особенность некоторых браузеров для contenteditable="true"

Sanu0074 14.04.2014 22:06

рони,
как преодолеть эту особенность?

рони 14.04.2014 22:33

Sanu0074,
:-?

danik.js 14.04.2014 23:08

Полагаю нужно ловить Enter, отменять его и программно создавать <p>.
Проще всего использовать готовый редактор, если не желаешь хапапать постоянно всякие баги. Рекомендую CKEditor.

Sanu0074 15.04.2014 00:09

А если выравнивать строку например по правому краю, вставляется <div style="text-align:right"></div>
Это тоже особенность браузера?
p.s. это оч плохо, т.к. не хотелось бы загрязнять код страницы подобными вещами типа style=".....", лучше так: <div class="t-left">, или чтото в этом роде...

Sanu0074 15.04.2014 00:14

Цитата:

Сообщение от danik.js (Сообщение 307727)
Рекомендую CKEditor.

в том же CKEditor, можно заменить style="text-align:center" на какой нибудь свой класс?

danik.js 15.04.2014 00:25

Цитата:

Сообщение от Sanu0074
в том же CKEditor, можно заменить style="text-align:center" на какой нибудь свой класс?

Да:
/**
 * List of classes to use for aligning the contents. If it's `null`, no classes will be used
 * and instead the corresponding CSS values will be used.
 *
 * The array should contain 4 members, in the following order: left, center, right, justify.
 *
 *		// Use the classes 'AlignLeft', 'AlignCenter', 'AlignRight', 'AlignJustify'
 *		config.justifyClasses = [ 'AlignLeft', 'AlignCenter', 'AlignRight', 'AlignJustify' ];
 *
 * @cfg {Array} [justifyClasses=null]
 * @member CKEDITOR.config
 */

Sanu0074 15.04.2014 15:06

danik.js,
А в CKEditor, для тега <img>, можно заменить как-то style="height:2448px; width:3264px", на какой нибудь класс (.my-class), который например будет задавать max-width:100% ?
p.s. поставил плагин kcfinder, для загрузки изображений


Часовой пояс GMT +3, время: 16:50.