如何使用 contenteditable:false 启动 TinyMCE

Ale*_*lex 1 javascript

我正在努力构建一个 TinyMCE 文本区域输入字段,该输入字段应该根据其他输入字段的状态从启用/禁用切换。到目前为止,我已经进行了以下工作来切换它:

var mceInstance = tinymce.get(TargetElementId);
mceInstance.getBody().setAttribute('contenteditable',false);
Run Code Online (Sandbox Code Playgroud)

通过像这样切换“contenteditable”参数,我可以轻松地禁用或禁用文本区域,到目前为止一切顺利。

我必须解决的最后一个问题是,文本区域应该在初始加载时禁用,并且似乎“contenteditable”参数不能作为tinyMCE.init()参数传递...有一个“只读”参数可以通过tinyMCE.init()传递,但是稍后不能切换......

关于如何实现这一目标有什么想法吗?

Ale*_*lex 6

解决了!

我发现通过将 init_instance_callback 与 TinyMCE 初始化代码一起传递,我可以运行与“toggle”函数中使用的代码相同的代码。因此,如果您需要的话,可以在 TinyMCE init 部分中传递它:

init_instance_callback : function(editor)
{
    if(document.getElementById(editor.id).hasAttribute('disabled'))
    {
        editor.getBody().setAttribute('contenteditable',false);
        editor.getBody().style.backgroundColor = "grey";
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码将查看指定的实例,如果原始 HTML 元素(在我的例子中为 textarea)具有“disabled”属性,它将把“contenteditable”参数设置为 false。

我希望这对其他人有用,我知道当我破解它时我很高兴:-)