3

工具栏如何显示在定义的地方(具有特定 id 的 div)上?

我尝试了 theme_advanced_toolbar_location : "external" 并设置了 "mceExternalToolbar" 的位置(就像这里建议的那样:TinyMCE - external toolbar position)但不太喜欢这个解决方案,因为它使用固定定位......在哪里放置div。

该文档为 theme_advanced_toolbar_location 说:

.. 将工具栏添加到 DIV 元素并将此 DIV 的类设置为“mceExternalToolbar”。...但如果您可以更改 div,则不会。是否有可能更改此代码?

BR,斯特凡

4

1 回答 1

2

几个月前,这对我来说一直是个问题。您需要做的就是将外部工具栏移动到您想要的位置。我在我的一个插件中编写了一个函数。在我的页面上,我创建了一个带有“externalToolbarWrapper”类的 div,我在其中插入了工具栏。这是那个功能。您可能需要稍微调整一下,但认为它会对您有所帮助。

    showExternalToolbar: function(){

        if (this.editor.getParam('theme_advanced_toolbar_location') != 'external') return;

        if (!document.getElementById('externalToolbarWrapper')) $(document.body).prepend('<div id="externalToolbarWrapper"></div>');

        var $toolbar = $('#'+this.editor.id + '_external');

        // inserts the external toolbar in the external wrapper
        $('#externalToolbarWrapper').append('<div id="replacementDiv"></div>');

        $('#replacementDiv').replaceWith($toolbar.show());
        $toolbar.css('top','0px');
        $toolbar.css('display','block');

        $('#' + this.editor.id + '_external_close').remove();
        $('#' + this.editor.id +'_toolbargroup').css('width', innerWidth || 800); // innerwidth is an integer value
    },

更新:

您应该调用它 onInit(在此处使用setup 配置参数

   setup : function(ed) {
      ed.onInit.add(function(ed) {
          // place your code here
      });
   },
于 2012-05-31T08:04:26.507 回答