tinymce:以编程方式配置工具栏?
tinymce: configure toolbar programmatically?
在包含多个 tinymce
实例的页面中,是否可以在传递给 init
函数的 object
中的参数中添加逻辑?如果我编写一个函数并调用它两次,我可以做到这一点,每个 textarea
实例一次,但我想知道它是否在 api.
中可用
下面,我的选择器找到两个 textarea
实例,我希望它们每个都有不同的工具栏。我以为 activeEditor.settings.toolbar
之类的东西可以访问和更改它,但它不起作用。 toolbar
可以在 init 上配置吗?
tinymce.init({
selector: 'textarea',
plugins:'link image imagetools',
toolbar: 'undo redo | cut copy paste',
setup:function(ed){
ed.on("init",function(e){
if(e.target.id == "conclude"){
// NOT WORKING: alter the toolbar:
tinyMCE.activeEditor.settings.toolbar = "undo redo";
}
});
}
});
编辑:
这也不起作用:
ed.on("BeforeRenderUI", function(e){
e.target.settings.toolbar = "cut copy";
}
有一些参数只在初始化时使用,更改它们不会有任何作用。你可以尝试做这样的事情(我不确定这是否有效但它可能):
setup:function(ed){
ed.on("beforeinit", function(e){
if(e.target.id == "conclude"){
ed.settings.toolbar = "undo redo";
}
});
}
或
setup:function(ed){
if(ed.id == "conclude"){
ed.settings.toolbar = "undo redo";
}
}
最后,我构建了两个不同的对象,每个对象都有自己的一组参数,以传递给多个 tinymce.init
方法调用。我找不到从正在传递的 object
中动态更改 toolbar
参数的方法。
在包含多个 tinymce
实例的页面中,是否可以在传递给 init
函数的 object
中的参数中添加逻辑?如果我编写一个函数并调用它两次,我可以做到这一点,每个 textarea
实例一次,但我想知道它是否在 api.
下面,我的选择器找到两个 textarea
实例,我希望它们每个都有不同的工具栏。我以为 activeEditor.settings.toolbar
之类的东西可以访问和更改它,但它不起作用。 toolbar
可以在 init 上配置吗?
tinymce.init({
selector: 'textarea',
plugins:'link image imagetools',
toolbar: 'undo redo | cut copy paste',
setup:function(ed){
ed.on("init",function(e){
if(e.target.id == "conclude"){
// NOT WORKING: alter the toolbar:
tinyMCE.activeEditor.settings.toolbar = "undo redo";
}
});
}
});
编辑: 这也不起作用:
ed.on("BeforeRenderUI", function(e){
e.target.settings.toolbar = "cut copy";
}
有一些参数只在初始化时使用,更改它们不会有任何作用。你可以尝试做这样的事情(我不确定这是否有效但它可能):
setup:function(ed){
ed.on("beforeinit", function(e){
if(e.target.id == "conclude"){
ed.settings.toolbar = "undo redo";
}
});
}
或
setup:function(ed){
if(ed.id == "conclude"){
ed.settings.toolbar = "undo redo";
}
}
最后,我构建了两个不同的对象,每个对象都有自己的一组参数,以传递给多个 tinymce.init
方法调用。我找不到从正在传递的 object
中动态更改 toolbar
参数的方法。