> 在創建編輯器時可以定義toolbars屬性來擴展編輯器來支持更多的功能
toolbars屬性是一個數組,他定義了編輯器的控制按鈕,你可以去除一些不必要的按鈕功能,也可以創建一個按鈕
編輯器自帶有以下按鈕
~~~
insertText /*插文字'*/
insertImage /*插圖片'*/
insertLink /*鏈接'*/
insertHr /*水平線'*/
editText /*文字'*/
delete /*刪除'*/
undo /*撤銷'*/
cancel /*取消'*/
~~~
我們這里先舉例創建一個只有文字、刪除、撤銷、取消按鈕的編輯器(下面講解如何新增一個新的按鈕)
~~~
new Eleditor({
el: '#article-body',
upload:{
server: '/upload.php',
},
toolbars: [
'insertText',
'editText',
'delete',
'undo',
'cancel'
],
});
~~~
效果如下

## 新建按鈕
我們除了可以操作排序自帶的功能按鈕外,還可以新增一個操作按鈕,例如上傳視頻、插入表情等
> 我們這里演示如何新建一個插入商品按鈕邏輯
~~~
var _artEdr = new Eleditor({
el: '#article-body',
upload:{
server: '/upload.php',
},
toolbars: [
'insertText',
'editText',
'insertImage',
//自定義一個按鈕對象
{
id: 'insertShop',//不能重復,此id可用于定義按鈕樣式,例如創建后按鈕類為Eleditor-insertShop
//tag: 'img', //指定標簽顯示按鈕,逗號分隔,默認不指定
name: '插產品',
handle: function(_select, _controll){//回調有兩個參數,分別是已選擇的編輯dom對象和當前控制按鈕對象
/*這里省略部分邏輯,主要是顯示產品列表彈窗,并且選擇返回*/
...
...
var _selectShop = {"name": "藥膏","price": "35.6"};/*舉例通過選擇拿到產品信息*/
/*注意!!!在編輯修改內容前務必通過saveState保存下狀態,這樣編輯器撤銷按鈕才會生效,否則無法撤銷修改*/
_artEdr.saveState();
/*.getEditNode()拿到的是一個jq節點對象,插入到已選擇的節點后面*/
_artEdr.getEditNode().after( $('<p>'+__selectShop.name+' ¥'+_selectShop.price+'</p>') );
}
},
'insertLink',
'insertHr',
'delete',
'undo',
'cancel'
]
});
~~~