资源描述:
《Emditor 宏之菜单应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Emditor宏之菜单应用在常用的编辑器里面,我最常用的就是Emditor,它吸引我的就是它的宏,而且支持两种vbscript和javascript,我比较喜欢javascript的方式来使用它的宏 由于在使用Emditor的过程中,时常为了提高工作效率,积累了不少Emditor的宏,放入工具栏太多宏,有时候都快找不出来了,经过一番研究,决定在它的宏菜单基础上面,按文件-功能类别,一个jsee文件对应一个工具集,工具集下面和有多个子菜单,这样不至于jsee太多而导致工具栏拥挤如果你想把本文的内容用到Emditor,请先了解如下知识1
2、.javascript基础知识2.Emditor宏api,3.Emditor编辑器 1.以前一个jsee文件,仅仅包含一个宏,当点击工具栏上对应的jsee名称,则执行jsee中的宏2.现在一个jsee文件包含多个宏,这些宏通过菜单的形式提供给使用者使用3.为了实现上述目标,献给jsee文件定一个规范1)菜单管理器2)菜单3)工具一个菜单对象对应一个工具一个菜单有多个菜单项每个菜单项对应工具中的一个方法 一个jsee文件仅包含一个菜单管理,包含多个菜单,但是都是注册到菜单管理器统一管理菜单管理器(不显示) 菜单(显示)
3、 菜单项(显示) 菜单项(显示) 菜单项(显示) 菜单(显示) 菜单项(显示) 菜单项(显示) 菜单(显示)cucci女包、香奈儿包包、爱马仕包包:www.naitiao.com
4、冬装外套、冬装女装、时尚冬装:www.haomeifa.com最终效果图(点击工具栏上的宏后) Emditor中PopupMenuObjectAPICreatePopupMenu:创建弹出菜单,全局函数AddPopup:添加子菜单Add:添加菜单项Track:显示菜
5、单 第一步,实现如下几项1)菜单基类cucci女包、香奈儿包包、爱马仕包包:www.naitiao.com
6、冬装外套、冬装女装、时尚冬装:www.haomeifa.com在具体的jsee里面,菜单只需要继承这个基类,加入菜单项,挂接点击菜单后的执行函数就行了 2)菜单管理器(基类)在具体的jsee里面,可以继承这个管理器,注册多个菜单,并在用户点击宏时候,显示 下面我们开始实现着两个基类,用到了javascript的一些继承知识---------Object1Object.extend=function(destination,source)
7、{2for(propertyinsource){3destination[property]=source[property];4}5returndestination;6}78Object.prototype.extend=function(object){9returnObject.extend.apply(this,[this,object]);10} ---------------GObject1////////////////////////////////////////////////////////////////2//这个类
8、就是Menu的基类,其实也是MenuManager的基类3//后面可以看到为啥都用这个当基类4////////////////////////////////////////////////////////////////5functionGObject()6{7}89GObject.prototype={10ShowAsSub:true,11Number:0,12Menu:null,13Name:"GObject",14DoCommand:function(n){},15AddM:function(){},16AddMenu:functio
9、n(mmMenu){17if(this.ShowAsSub)18this.Menu=CreatePopupMenu();19else20this.Menu=mmMenu;21this.AddM();22if(this.ShowAsSub){23mmMenu.AddPopup(this.Name,this.Menu);24this.Menu=mmMenu;cucci女包、香奈儿包包、爱马仕包包:www.naitiao.com
10、冬装外套、冬装女装、时尚冬装:www.haomeifa.com25}else26this.Menu.Add("",0,e
11、eMenuSeparator);27}28} 属性参数名默认值 ShowAsSubTrue是否显示为菜单子项目,后代需要自己设置 Number0菜单项id映射用到数