代码之家  ›  专栏  ›  技术社区  ›  no11

是否可以为多实例tinyMCE的每个实例定义一个强制的_root_块?

  •  0
  • no11  · 技术社区  · 7 年前

    我目前正在寻找一种方法,在单个页面上设置每个tinymce实例,以使用不同的强制根块元素。 例如:我在页面上呈现3个实例。第一个应该是h1,第二个是h2,第三个是p。

    正如我在tinymce文档中所发现的,我可以在初始化tinymce时使用强制的_root_块。但如果我按照下面的方式初始化,那么所有实例的根标记都是h1。

    有没有办法为每个实例定义此参数?例如,在安装回调中?

    谢谢你的帮助。

    tinyMCE.init({
        //...
        mode: 'textareas',
        editor_selector: 'article_editor',
        content_css: '/editorcss/',
        forced_root_block: 'h1',
        //...
    });
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   no11    7 年前

    我找到了一个解决办法。 可以向设置参数注册回调函数。对于tinymce的每个实例,这称为一次性。

    tinyMCE.init({
        //...
        mode: 'textareas',
        editor_selector: 'article_editor',
        setup: function(ed) {
            /**
            * We are looking for textareas != basetext and setup their block-tag and attributes
            **/
            var block_type  = $('#' + ed.id).data('block-type');
            var block_class = $('#' + ed.id).data('block-class');
            var block_style = $('#' + ed.id).data('block-style');
    
            if (block_type != null) {
                ed.settings.forced_root_block = block_type;
                ed.settings.forced_root_block_attrs = {
                    'class': block_class ? block_class : '',
                    'style': block_style ? block_style : ''
                }
            }
       //...