第一步,先定义下拉列表要显示的内容
例如:
plugins.code = { code:{ php : 'php', csharp : 'csharp', java : 'java', css : 'css', javascript : 'javascript' } };
与plugins.fontname、plugins.advtable等放在同一级内。
第二步:添加语言
KE.lang里加入一句:
code:'插入代码',
如:
KE.lang = { source : 'HTML代码', code:'插入代码', undo : '后退(Ctrl+Z)', //.....
这个语言是当鼠标放在插件的图标上时,显示的提示。
第三步,插件加入工具栏
在KE.setting的items里加入code,如:
items : [ 'source', '|', 'code','image', 'flash', 'media', 'advtable', 'hr', 'emoticons', 'link', 'unlink', '|', 'about' ]
第四步,填写插件实现:
KE.plugin['code'] = { //插件图标被点击的处理函数,要弹出下拉列表 click : function(id) { var codeList = KE.lang.plugins.code.code; var cmd = 'code'; KE.util.selection(id); //创建一个menu var menu = new KE.menu({ id : id, cmd : cmd, width : 150 }); KE.each(codeList, function(key, value) { //产生列表里每一项的html var html = '<span class="ke-reset">' + value + '</span>'; //添加每一项到menu里,当menu点击时调用code插件的exec方法,并把点击了的id和key传给exec menu.add( html, function() { KE.plugin[cmd].exec(id, key); } ); }); menu.show(); this.menu = menu; }, //点了下拉列表的某一项后,在文本域插入一些代码 exec : function(id, value) { var html = '<br/><br/>';
KE.util.insertHtml(id, html);
this.menu.hide();
KE.util.focus(id);
}
};
放在与其实插件代码如KE.plugin['source'] 等的旁边。
为了防止不必要的层级错误,最好的办法就是跟在正确的边上
换句话说,如果你不知道怎么走,就跟着人家知道怎么走的走。这是个真理。