我已按如下方式初始化TinyMCE。我想在用户按下输入而不是段落时强制换行。我正在尝试跟随,但没有工作。我正在使用TinyMCE版本3_3_8。
tinyMCE.init({
mode: "exact",
theme: "advanced",
elements: "textAreaId",
cleanup: false,
theme_advanced_toolbar_location: "",
theme_advanced_buttons1: "",
theme_advanced_buttons2: "",
theme_advanced_buttons3: "",
height: 200,
width: 300,
forced_root_block : false,
force_br_newlines : true,
force_p_newlines : false,
oninit: InitPosition
}); //init ends
我尝试定义forced_root_block : ""
,但它仍无效。
我做错了什么?
答案 0 :(得分:19)
只需添加forced_root_block : false
或者如果你想要一个包装器:forced_root_block : 'div'
,
像魅力一样!
答案 1 :(得分:14)
而是尝试:
force_p_newlines : false,
force_br_newlines : true,
convert_newlines_to_brs : false,
remove_linebreaks : true,
答案 2 :(得分:9)
对我有用的是:
tinymce.init({
...
force_br_newlines : true,
force_p_newlines : false,
forced_root_block : ''
});
每个换行符都使用这些设置生成br标记。
消息来源:http://www.tinymce.com/wiki.php/Configuration3x:force_br_newlines
答案 3 :(得分:7)
我遇到了与TinyMCE 4相同的情况。我所有的&#34;输入&#34; (键盘)导致注入新的<p> </p>
。
我不想使用forced_root_block : false
所以我在tinymce.init
函数中找到了一些东西(每个空段将直接清除):
setup : function(editor) {
editor.on('PostProcess', function(ed) {
// we are cleaning empty paragraphs
ed.content = ed.content.replace(/(<p> <\/p>)/gi,'<br />');
});
}
https://www.tinymce.com/docs/configure/integration-and-setup/#setup https://www.tinymce.com/docs/api/class/tinymce.editor/#postprocess
答案 4 :(得分:3)
“forced_root_block:false”选项适用于TinyMCE 4.0。
答案 5 :(得分:2)
在主题functions.php中插入以下代码:
add_filter( 'tiny_mce_before_init', 'my_switch_tinymce_p_br' );
function my_switch_tinymce_p_br( $settings ) {
$settings['forced_root_block'] = 'br';
return $settings;
}
答案 6 :(得分:1)
TinyMCE在Mozilla Firefox上添加了<div>
或<br>
或<p>
。
我找到了解决方法:
打开Mozilla Firefox,然后输入以下地址:
about:config
搜索选项并设置为false:
editor.use_div_for_default_newlines
答案 7 :(得分:0)
在tinyMCE 5中,我需要添加1个额外的参数
tinymce.init({
...
valid_elements: 'br',
force_br_newlines : true,
force_p_newlines : false,
forced_root_block : ''
});