【问题标题】:Tweak TinyMCE Window after opening打开后调整 TinyMCE 窗口
【发布时间】:2017-03-01 09:59:25
【问题描述】:

我有一个烦人的事情,虽然不是拦截器,但很烦人。让我解释一下。

我在 MCE 插件中有这段代码:

var theWindow = editor.windowManager.open({
  html: '<iframe id="iframeID" src="iframeURL" frameborder="0"></iframe>',
  buttons: [
    {
      text: 'Cancel',
      subtype: 'secondary'

    },
    {
      text: 'Submit',
      onclick: 'submit',
      subtype: 'primary mySubmitButton'
    }
  ],
});

$('#iframeID').on('load', function(){
  selectedSnippets.on('change', function(e){
    theWindow.statusbar.$el.find('.mySubmitButton .mce-txt').text(text);
  });
});

(为了简洁,我避免了插件声明和触发窗口打开的代码)

好的,这样就可以了,窗口打开了,它确实有一个标题、一个页脚和这个页脚上的两个按钮。

我现在的问题是:如何更新页脚按钮上的文本?我的意思是我可以简单地用 js 来做。这行得通,但问题是按钮位于absolute 并在第一次渲染时计算:

所以,我的问题是:我到底要如何重新渲染这些按钮? TinyMCE 的文档并没有真正的帮助(或者我可能不知道要查找什么/在哪里查找)。

作为一个子问题:如何禁用一个按钮?

谢谢!

【问题讨论】:

    标签: tinymce-4 tinymce-plugins


    【解决方案1】:

    我设法以一种可能不太干净的方式分两步重新渲染按钮:

    // you will need to run this for each **updated** button
    theWindow.statusbar._items[0].$el.find('.mce-txt').text('my long value goes here');
    theWindow.statusbar._items[0].updateLayoutRect(); 
    
    // You will need to call this once
    theWindow.statusbar.reflow()
    

    我仍然不知道如何禁用/启用按钮 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多