默认模式
自定义按钮
皮肤选择
其它选项
API交互
非utf-8编码调用
UBB可视化
Ajax上传
插件扩展
iframe调用上传
异步加载
远程抓图
结合CKFinder
Markdown可视化
生成代码
xhEditor demo9 : 自定义按钮之插件扩展
<p><strong>插件初始化参考代码:</strong><br /></p><script type="text/javascript"><br />var editor;<br />$(pageInit);<br />function pageInit()<br />{<br /> var allPlugin={<br /> subscript:{c:'testClassName',t:'下标:调用execCommand(subscript)'},<br /> superscript:{c:'testClassName',t:'上标:调用execCommand(superscript)'},<br /> test1:{c:'testClassName',t:'测试1:加粗 (Ctrl+1)',s:'ctrl+1',e:function(){<br /> this._exec('Bold');<br /> }},<br /> test2:{c:'testClassName',t:'测试2:普通对话框 (Ctrl+2)',s:'ctrl+2',h:1,e:function(){<br /> var _this=this;<br /> var jTest=$('<div>测试showDialog</div><div style="text-align:right;"><input type="button" id="xheSave" value="确定" /></div>');<br /> var jSave=$('#xheSave',jTest);<br /> jSave.click(function(){<br /> _this.pasteHTML('点击了确定按钮');<br /> _this.hidePanel();<br /> return false; <br /> });<br /> _this.saveBookmark();<br /> _this.showDialog(jTest);<br /> }},<br /> test3:{c:'testClassName',t:'测试3:需要转移焦点的对话框 (Ctrl+3)',s:'ctrl+3',h:1,e:function(){<br /> var _this=this;<br /> var jTest=$('<div>测试需要转移焦点的showDialog</div><div><textarea id="xheTestInput" style="width:260px;height:100px;">当互动界面中有input或者textarea等会产生焦点的表单项时,必需在插入内容前用loadBookmark函数加载之前保存的光标焦点。</textarea></div><div style="text-align:right;"><input type="button" id="xheSave" value="确定" /></div>');<br /> var jTestInput=$('#xheTestInput',jTest),jSave=$('#xheSave',jTest);<br /> jSave.click(function(){<br /> _this.loadBookmark();<br /> _this.pasteText('您输入了:'+jTestInput.val());<br /> _this.hidePanel();<br /> return false; <br /> });<br /> _this.saveBookmark();<br /> _this.showDialog(jTest);<br /> }},<br /> test4:{c:'testClassName',t:'测试4:面板界面 (Ctrl+4)',s:'ctrl+4',h:1,e:function(){<br /> var _this=this;<br /> var jTest=$('<div style="padding:5px;">测试showPanel</div>');<br /> _this.showPanel(jTest);<br /> }},<br /> test5:{c:'testClassName',t:'测试5:菜单调用 (Ctrl+5)',s:'ctrl+5',h:1,e:function(){<br /> var _this=this;<br /> var arrMenu=[{s:'菜单1',v:'menu1',t:'这是菜单1'},{s:'菜单2',v:'menu2',t:'这是菜单2'},{s:'菜单3',v:'menu3',t:'这是菜单3'}];<br /> _this.saveBookmark();<br /> _this.showMenu(arrMenu,function(v){_this.pasteHTML(v);});<br /> }},<br /> test6:{c:'testClassName',t:'测试6:showModal (Ctrl+6)',s:'ctrl+6',e:function(){<br /> var _this=this;<br /> _this.saveBookmark();<br /> _this.showModal('测试showModal接口','<div style="padding:5px;">模式窗口主体内容</div>',500,300);<br /> }},<br /> test7:{c:'testClassName',t:'测试7:showIframeModal (Ctrl+7)',s:'ctrl+7',e:function(){<br /> var _this=this;<br /> _this.saveBookmark();<br /> _this.showIframeModal('测试showIframeModal接口','uploadgui.php',function(v){_this.loadBookmark();_this.pasteText('返回值:\r\n'+v);},500,300);<br /> }}<br /> };<br /> editor=$('#elm1').xheditor({plugins:allPlugin,tools:'subscript,superscript,test1,test2,test3,test4,test5,test6,test7,|,Source,Fullscreen,About'});<br />}<br /></script><p><strong>插件对象的属性解释:</strong><br /><br />c:样式表名称 t:插件名字(鼠标在按钮上方时显示) s:快捷方式(例如:Esc、Ctr+B) h:是否鼠标悬停直接执行,1:直接执行(省略当前值代表不直接执行) e:按钮点击后需要执行的代码(省略执行代码,则把当前的插件名作为参数,调用浏览器的execCommand函数)<br /><br /><br /><br /><strong>特别说明:</strong><br />如果您希望样式表存储在系统自带的模板目录ui.css中,请将插件对象的样式名留空,则会自动按照插件名来调用相应的样式,例如:xhEdtBtnCut、xhEdtBtnCopy,其中的Cut和Copy是插件名<br /><br /></p>