преобразовать p в br на tinyMCE

Пожалуйста помоги. Я использую tinyMCE в качестве встроенного редактора. Поэтому мне нужно, чтобы когда пользователь в режиме редактирования нажимал ввод, тогда было бы <br />, а не <p>. Я прочитал руководство и FAQ и попробовал

tinyMCE.init({
            'height' : '100%',
            'widht':'100%',
            'content_css' : styles + ',/sdtc-new/nc/interface/common/css/mce-editor.css',
            'mode' : "specific_textareas",
            'editor_selector' : prefix + o.id,
            'theme':'advanced',
        theme_advanced_buttons1: o.buttons.join(','),
        theme_advanced_buttons2 : "",
        **theme_advanced_buttons3 : "",
    force_br_newlines : true,
        force_p_newlines : false,
        forced_root_block : '' // Needed for 3.x**
        });

Но это не работа. На самом деле какое-то время это работает, когда я удаляю весь контент в области редактирования и набираю новый текст. Но мне нужно, чтобы он работал все время. Пожалуйста помоги. Версия тиниМСЕ 3.4.4


person ZigZag    schedule 05.09.2011    source источник


Ответы (1)


Вам нужно будет установить

tinyMCE.init({
   forced_root_block : false,
   force_br_newlines : true,
   force_p_newlines : false
   ...
});

Вот полезный раздел FAQ по tinymce.

person Thariama    schedule 06.09.2011
comment
Вы имеете в виду, что я использую его в неправильном порядке? Потому что я использую эти директивы, но в другом порядке. - person ZigZag; 06.09.2011
comment
порядок не имеет значения, но '' не равно false ! - person Thariama; 06.09.2011
comment
console.log('' == ложь); //истинный - person ZigZag; 06.09.2011
comment
Пробую в FireFox 6.1 и TinyMCE 3.4.4 - person ZigZag; 06.09.2011
comment
да, вы правы, я видел в коде tinyMCE, и эти настройки действительно правильно работают только для IE, но Shift + Enter работают правильно в FF, IE и Google Chrome. Конечно, я могу переназначить событие нажатия клавиши, но я думаю, что это глупо - person ZigZag; 06.09.2011
comment
вы можете сделать это с помощью собственного плагина, перехватывая событие onKeyDown и выполняя то, что будет делать сдвиг + ввод, + останавливая дальнейшее распространение, чтобы не получить ps - person Thariama; 06.09.2011
comment
остановка распространения работает не во всех браузерах. остановка бубулирования работает нормально, но остановка распространения очень плохая. - person ZigZag; 06.09.2011
comment
вы можете использовать этот код для остановки распространения во всех случаях, если evt является вашим событием: evt.stopPropagation();evt.preventDefault();return false; - person Thariama; 06.09.2011