我正在努力构建一个 TinyMCE textarea 输入字段,它应该根据其他输入字段的状态从启用/禁用切换。 到目前为止,我已经完成了以下工作来切换它:
var mceInstance = tinymce.get(TargetElementId);
mceInstance.getBody().setAttribute('contenteditable',false);
通过像这样切换“contenteditable”参数,我可以轻松地禁用或禁用文本区域,到目前为止一切顺利。
我必须解决的最后一个问题是,文本区域应该在初始加载时被禁用,而且似乎“contenteditable”参数不能作为 tinyMCE.init() 参数传递... 有一个“只读”参数可以通过 tinyMCE.init() 传递,但以后不能切换...
关于如何实现这一点有什么想法吗?
最佳答案
解决了!
我发现通过将 init_instance_callback 与 TinyMCE 初始化代码一起传递,我可以运行与“切换”函数中使用的代码相同的代码。 因此,如果需要,您可以在 TinyMCE 初始化部分传递它:
init_instance_callback : function(editor)
{
if(document.getElementById(editor.id).hasAttribute('disabled'))
{
editor.getBody().setAttribute('contenteditable',false);
editor.getBody().style.backgroundColor = "grey";
}
}
上面的代码将查看指定的实例,如果原始 HTML 元素(在我的例子中是 textarea)具有 'disabled' 属性,它会将 'contenteditable' 参数设置为 false。
我希望这对其他人有用,我知道我破解它时很开心:-)
关于javascript - 如何使用 contenteditable :false 启动 TinyMCE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20763268/