编写Editor插件
Source
Output
QRCode
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>编写Editor插件</title>
<link rel="stylesheet" type="text/css" href="//g.alicdn.com/kissy/k/5.0.1/css/base.css">
<link rel="stylesheet" type="text/css" href="http://g.tbcdn.cn/kg/editor-plugins/1.1.3/assets/editor.css"> <!--引入editor的插件样式-->
<script src="//g.alicdn.com/kissy/k/5.0.1/seed.js" data-config="{combine:false}"></script>
<script type="text/javascript" src="http://g.tbcdn.cn/kg/editor-plugins/1.1.3/mods.js"></script> <!-- 引入插件模块依赖表避免模块串行加载,优化性能-->
</head>
<body>
<h1>编写Editor插件</h1>
<div id="container">
</div>
<script type="text/javascript">
require.config({
packages : [
{
name : 'kg', //1.1.3是当前editor-plugins的版本号,使用时请选择对应的版本号
base : 'http://g.tbcdn.cn/kg/'
}
]
});
define('my/plugins', ['kg/editor-plugins/1.1.3/button'], function (require,exports,module) {
var Button = require('kg/editor-plugins/1.1.3/button');
// 自定义插件
function Plugin1(cfg) {
this.config = cfg || {};
}
Plugin1.prototype.pluginRenderUI = function (editor) {
var cfg = this.config;
editor.addButton("plugin1", {
content: '<div style="margin: 2px;border: 1px solid red;padding: 1px;">p1</div>',
listeners: {
click: function () {
editor.insertHtml(cfg.content);
}
}
});
};
function Plugin2() {
}
Plugin2.prototype.pluginRenderUI = function (editor) {
editor.addButton("plugin2", {
content: '<div style="margin: 2px;border: 1px solid red;padding: 1px;">p2</div>',
listeners: {
click: function () {
alert('Plugin2 is running')
}
}
});
};
module.exports = {
Plugin1: Plugin1,
Plugin2: Plugin2
};
});
require(['editor','my/plugins'], function(Editor, MyPlugins){
var myEditor = new Editor({
render : '#container',
focused : true,
textareaAttrs : {
name : 'my-textarea'
},
plugins : [
new MyPlugins.Plugin1({
content : 'content of Plugin1'
}),
MyPlugins.Plugin2
]
});
myEditor.render();
})
</script>
</body>
</html>