文档示例显示您可以通过设置在.redactor()
调用中执行此操作buttonsCustom
。插件 API 文档展示了如何添加单个按钮。但是如何通过插件 API 添加下拉菜单?
问问题
1538 次
4 回答
2
好的,查看编辑器源代码(最新版本 8.2.6),我注意到您可以将第四个参数传递给插件 API 的addBtn
函数。所以,假设你想从插件内部添加一个字体大小下拉菜单:
RedactorPlugins.fontSize = {
init: function(obj) {
btnCallback = function(obj,event,key) {
// button actions, if any
}
dropdown = {
small: {
title: 'Small'
callback: function(obj,event,key) { //set the font size to small }
}
medium: {
title: 'Medium'
callback: function(obj,event,key) { //set the font size to medium }
}
}
this.addBtn('fontSize','Change font size', btnCallback, dropdown);
}
}
于 2013-04-15T18:27:04.927 回答
0
对于使用第 9 版 redactor 的任何人,API 都已更改。这是创建带有回调的下拉列表的方法。重要的是传递给的第三和第四个参数buttonAdd
,第三个参数应该是回调函数,由于函数点击处理程序的编写false
方式,这必须是为了让编辑器自动显示下拉菜单。buttonBuild
第 4 个参数与版本 8 相同。
RedactorPlugins.snippets = {
init: function(){
var dropdown = {
quote: {
title: "Pull Quote",
callback: function(){
// callback code here
}
},
accordian: {
title: "Accordian",
callback: function(){
// callback code here
}
}
};
this.buttonAdd('snippets', 'Snippets', false, dropdown);
}
};
如果您需要在调用下拉列表时运行回调,则需要编写代码以在作为第三个参数传递的回调中显示下拉列表。
于 2013-06-27T09:42:32.647 回答
0
将类名添加到下拉项的示例 例如:-
dropdown = {
small: {
title: 'Small',
callback: function(obj,event,key) { //set the font size to small },
className:'YOURCLASS NAME'
}
}
于 2014-06-25T07:51:26.193 回答
0
杰米德是对的。对于更高版本的 Redactor,API 发生了很大变化。这是我用于 v9.2.5 的内容。
此代码向工具栏添加了一个下拉菜单,其中包含 2 个新按钮
if (!RedactorPlugins) var RedactorPlugins = {};
RedactorPlugins.newbtns = {
init: function ()
{
//biu is bold italics underline
var newbtns = {};
newbtns['Bold'] = { title: 'Button 1', callback: this.btn1 };
newbtns['Italics'] = { title: 'Button 2', callback: this.btn2 };
this.buttonAdd('newbtns', 'New Buttons', false, newbtns);
// adding font-awesome buttons
// u will have to include font-awesome stylesheet separately for this to work
this.buttonAwesome('newbtns', 'fa-tasks');
},
btn1: function(buttonName, buttonDOM, buttonObj, e)
{
// add stuff for btn1
},
btn2: function(buttonName, buttonDOM, buttonObj, e)
{
// add stuff for btn2
}
};
使用您的插件初始化编辑器
$('#myTextarea').redactor({
plugins: ['newbtns']
});
有关更多信息,请参阅此页面 - Redactor 插件
于 2014-09-01T07:10:52.243 回答