2
我想添加一个自定义的mymenubutton,菜单的项目是基于另一个下拉选定的值,它返回一堆json数组项。如何动态创建自定义控件
因此,我使用的例子http://fiddle.tinymce.com/gaaaab它可以创建mymenubutton的第一次,但当下拉列表更改,我应该如何重新初始化此控制并重新绑定到mymenubutton的json数组?
function generateTokensList(result) {
tinymce.create('tinymce.plugins.ExamplePlugin', {
createControl: function (n, cm) {
switch (n) {
case 'mysplitbutton':
var c = cm.createSplitButton('mysplitbutton', {
title: 'My split button',
image: 'some.gif',
onclick: function() {
alert('Button was clicked.');
}
});
c.onRenderMenu.add(function (c, m) {
m.add({ title: 'Tokens', 'class': 'mceMenuItemTitle' }).setDisabled(1);
var insertVar = function (val) {
return function() { tinyMCE.activeEditor.execCommand('mceInsertContent', false, val); }
};
for (var i = 0; i < result.length; i++) {
var field = result[i].field;
var variable = insertVar(result[i].field);
m.add({ title: result[i].name, onclick: variable });
}
});
// Return the new splitbutton instance
return c;
}
return null;
}
});
tinymce.PluginManager.add('example', tinymce.plugins.ExamplePlugin);
}
另一个下拉菜单是tinymce用户界面按钮列表的一部分或该页面上的其他位置? – Thariama 2012-02-16 08:37:26
用户是否在tinymce初始化之前选择了下拉菜单?或者编辑器处于活动状态时用户是否可能更改下拉菜单? – Thariama 2012-02-16 14:49:23
当然我会为此努力! tinymce将首先基于默认下拉值填充,但之后用户可以更改下拉值,并且tinymce应该重新绑定UI按钮列表。 – Princa 2012-02-16 16:31:58