轉載:http://www.cnblogs.com/gimin/p/4572849.html
KindEditor使用
1)kindeditor默認模式調用
<link rel="stylesheet" href="./KindEditor/themes/default/default.css" /> <script charset="utf-8" src="./KindEditor/kindeditor-min.js"></script> <script charset="utf-8" src="./KindEditor/lang/zh_CN.js"></script> <script> var editor,editor1; KindEditor.ready(function(K) { editor = K.create('textarea[name="content"]', { allowFileManager : true }); editor1 = K.create('textarea[name="content1"]', { allowFileManager : true }); //取得HTML K('input[name=getHtml]').click(function(e) { alert(editor1.html()); }); //取得文本(包含img,embed) K('input[name=getText]').click(function(e) { alert(editor.text()); }); //清空內容 K('input[name=clear]').click(function(e) { editor.html(''); }); }); </script> <body> <form method="post" action="sub.php" id="myform"> <textarea name="content" style="width:800px;height:400px;visibility:hidden;"></textarea> <textarea name="content1" style="width:800px;height:400px;visibility:hidden;"></textarea> <input type="submit" value="提交"/> </form> </body>
效果如圖:
2)簡單模式
<link rel="stylesheet" href="./KindEditor/themes/default/default.css" /> <script charset="utf-8" src="./KindEditor/kindeditor-min.js"></script> <script charset="utf-8" src="./KindEditor/lang/zh_CN.js"></script> <script> var editor; KindEditor.ready(function(K) { editor = K.create('textarea[name="content"]', { resizeType : 1, allowPreviewEmoticons : false, allowImageUpload : false, items : [ 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline', 'removeformat', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist', 'insertunorderedlist', '|', 'emoticons', 'image', 'link'] }); }); </script> <body> <form method="post" action="sub.php" id="myform"> <textarea name="content" style="width:800px;height:400px;visibility:hidden;"></textarea> <input type="submit" value="提交"/> </form>
效果如圖:
3)QQ風格
<!--<link rel="stylesheet" href="./KindEditor/themes/default/default.css" />--> <script charset="utf-8" src="./KindEditor/kindeditor-min.js"></script> <script charset="utf-8" src="./KindEditor/lang/zh_CN.js"></script> <script> KindEditor.ready(function(K) { K.each({ 'plug-align' : { name : '對齊方式', method : { 'justifyleft' : '左對齊', 'justifycenter' : '居中對齊', 'justifyright' : '右對齊' } }, 'plug-order' : { name : '編號', method : { 'insertorderedlist' : '數字編號', 'insertunorderedlist' : '項目編號' } }, 'plug-indent' : { name : '縮進', method : { 'indent' : '向右縮進', 'outdent' : '向左縮進' } } },function( pluginName, pluginData ){ var lang = {}; lang[pluginName] = pluginData.name; KindEditor.lang( lang ); KindEditor.plugin( pluginName, function(K) { var self = this; self.clickToolbar( pluginName, function() { var menu = self.createMenu({ name : pluginName, width : pluginData.width || 100 }); K.each( pluginData.method, function( i, v ){ menu.addItem({ title : v, checked : false, iconClass : pluginName+'-'+i, click : function() { self.exec(i).hideMenu(); } }); }) }); }); }); K.create('#contentqq', { themeType : 'qq', items : [ 'bold','italic','underline','fontname','fontsize','forecolor','hilitecolor','plug-align','plug-order','plug-indent','link' ] }); }); </script> <body> <form method="post" action="sub.php" id="myform"> <textarea id="contentqq" name="content" style="width:800px;height:400px;visibility:hidden;"></textarea> <input type="submit" value="提交"/> </form> </body>
效果如圖:
4)使用其它類庫
a)使用jQuery
<link rel="stylesheet" href="./KindEditor/themes/default/default.css" /> <script charset="utf-8" src="./KindEditor/kindeditor-min.js"></script> <script charset="utf-8" src="./KindEditor/lang/zh_CN.js"></script> <script charset="utf-8" src="./jquery.js"></script> <script> $(function() { var editor = KindEditor.create('textarea[name="content"]'); }); </script> <body> <form method="post" action="sub.php" id="myform"> <textarea name="content" style="width:800px;height:200px;"></textarea> <input type="submit" value="提交"/> </form>
b)在jQuery UI Dialog裏打開編輯器
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>With jQuery UI</title> <style> textarea { display: block; } #J_editorDialog { display: none; } </style> <link rel="stylesheet" href="./KindEditor/jquery-ui/css/smoothness/jquery-ui-1.9.2.custom.css" /> <link rel="stylesheet" href="./KindEditor/themes/default/default.css" /> <script charset="utf-8" src="./KindEditor/jquery-ui/js/jquery-ui-1.9.2.custom.js"></script> <script charset="utf-8" src="./KindEditor/kindeditor-all-min.js"></script> <script charset="utf-8" src="./KindEditor/lang/zh_CN.js"></script> <script charset="utf-8" src="jquery.js"></script> <script> var editor; //定義全局editor,防止變量未定義 $(function() { $('#J_openDialog').click(function() { $('#J_editorDialog').dialog({ title : '提交相關資料', width : 750, open : function(event, ui) { // 打開Dialog後創建編輯器 editor=KindEditor.create('textarea[name="content"]', { resizeType : 1 }); }, beforeClose : function(event, ui) { // 關閉Dialog前移除編輯器 KindEditor.remove('textarea[name="content"]'); } }); }); //用button的submit()方法提交,雖然有提交動作到處理程序,但無法獲取textarea中輸入的值 $('#sub').click(function(){ if(editor.html()==""){ alert("內容不能爲空!"); return false; } }); }); </script> </head> <body> <h3>在jQuery UI Dialog裏打開編輯器</h3> <div id="J_editorDialog"> <form action="sub.php" method="post" id="myform"> <textarea name="content" style="width:100%;height:200px;">文本原來內容</textarea> <input type="submit" id="sub" value="確定" /> </form> </div> <button type="button" id="J_openDialog">打開Dialog</button> </body> </html>
效果如圖:
5)單獨調用組件
a)文件上傳按鈕
<html> <head> <meta charset="utf-8" /> <title>Upload Button Examples</title> <link rel="stylesheet" href="./KindEditor/themes/default/default.css" /> <script src="./KindEditor/kindeditor-all-min.js"></script> <script> KindEditor.ready(function(K) { var uploadbutton = K.uploadbutton({ button : K('#uploadButton')[0], fieldName : 'imgFile', url : './KindEditor/php/upload_json.php?dir=file', afterUpload : function(data) { if (data.error === 0) { var url = K.formatUrl(data.url, 'absolute'); K('#url').val(url); } else { alert(data.message); } }, afterError : function(str) { alert('自定義錯誤信息: ' + str); } }); uploadbutton.fileBox.change(function(e) { uploadbutton.submit(); }); }); </script> </head> <body> <div class="upload"> <form action="sub.php" method="post"> <input class="ke-input-text" name="filename" type="text" id="url" value="" readonly="readonly" /> <input type="button" id="uploadButton" value="Upload" /> <input type="submit" value="提交"/> </form> </div> </body> </html>
b)文件上傳彈出框(顯示文件說明和文件空間查看)
<html> <head> <meta charset="utf-8" /> <title>fileDialog Examples</title> <link rel="stylesheet" href="./KindEditor/themes/default/default.css" /> <script src="./KindEditor/kindeditor.js"></script> <script src="./KindEditor/lang/zh_CN.js"></script> <script src="./jquery.js"></script> <script> KindEditor.ready(function(K) { var editor = K.editor({ allowFileManager : true }); K('#insertfile').click(function() { editor.loadPlugin('insertfile', function() { editor.plugin.fileDialog({ fileUrl : K('#url').val(), clickFn : function(url, title) { K('#url').val(url); //上傳文件的路徑 K('#filerealname').val(title); //指定上傳文件的說明信息 editor.hideDialog(); } }); }); }); }); $(function(){ $('#sub').click(function(){ $('#myform').submit(); }); }); </script> </head> <body> <form action="sub.php" method="post" id="myform"> <input type="text" id="url" name="filename" value="" /> <input type="hidden" id="filerealname" name="filerealname" value="" /> <input type="button" id="insertfile" value="選擇文件" /><br/> <input type="button" id="sub" value="上傳"/> </form> </body> </html>
效果如圖:
c)彈出對話框
<html> <head> <meta charset="utf-8" /> <title>Dialog Examples</title> <link rel="stylesheet" href="./KindEditor/themes/default/default.css" /> <script src="./KindEditor/kindeditor.js"></script> <script src="./jquery.js"></script> <script> KindEditor.ready(function(K) { K('#create1').click(function() { var dialog = K.dialog({ width : 500, title : '測試窗口', body : '<div style="margin:10px;"><strong>內容內容內容內容內容內容內容內容</strong></div>', closeBtn : { name : '關閉', click : function(e) { dialog.remove(); } }, yesBtn : { name : '確定', click : function(e) { alert(this.value); } }, noBtn : { name : '取消', click : function(e) { dialog.remove(); } } }); }); }); </script> </head> <body> <input type="button" id="create1" value="打開彈出框" /> </body> </html>
效果如圖:
d)上傳圖片彈出框
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>ImageDialog Examples</title> <link rel="stylesheet" href="./KindEditor/themes/default/default.css" /> <script src="./KindEditor/kindeditor.js"></script> <script src="./KindEditor/lang/zh_CN.js"></script> <script> KindEditor.ready(function(K) { var editor = K.editor({ allowFileManager : true }); //(網絡圖片 + 本地上傳) K('#image1').click(function() { editor.loadPlugin('image', function() { editor.plugin.imageDialog({ imageUrl : K('#url1').val(), clickFn : function(url, title, width, height, border, align) { K('#url1').val(url); editor.hideDialog(); } }); }); }); //(網絡圖片) K('#image2').click(function() { editor.loadPlugin('image', function() { editor.plugin.imageDialog({ showLocal : false, imageUrl : K('#url2').val(), clickFn : function(url, title, width, height, border, align) { K('#url2').val(url); editor.hideDialog(); } }); }); }); //(本地上傳) K('#image3').click(function() { editor.loadPlugin('image', function() { editor.plugin.imageDialog({ showRemote : false, imageUrl : K('#url3').val(), clickFn : function(url, title, width, height, border, align) { K('#url3').val(url); K('#filename_').val(title); //獲取文件原名 editor.hideDialog(); } }); }); }); }); </script> </head> <body> <form action="sub.php" method="post"> <p> <input type="text" id="url1" value="" /> <input type="button" id="image1" value="選擇圖片" />(網絡圖片 + 本地上傳) </p> <p> <input type="text" id="url2" value="" /> <input type="button" id="image2" value="選擇圖片" />(網絡圖片) </p> <p> <input type="text" id="url3" name="url" value="" /> <input type="text" id="filename_" name="filename_"/> <input type="button" id="image3" value="選擇圖片" />(本地上傳) </p> <input type="submit" value="提交"/> </form> </body> </html>
e)批量上傳圖片
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>MultiImageDialog Examples</title> <link rel="stylesheet" href="./KindEditor/themes/default/default.css" /> <script src="./KindEditor/kindeditor.js"></script> <script src="./KindEditor/lang/zh_CN.js"></script> <script> KindEditor.ready(function(K) { var editor = K.editor({ allowFileManager : true }); K('#J_selectImage').click(function() { editor.loadPlugin('multiimage', function() { editor.plugin.multiImageDialog({ clickFn : function(urlList) { var div = K('#J_imageView'); div.html(''); K.each(urlList, function(i, data) { // div.append('<img src="' + data.url + '">'); div.append('<span>圖片路徑:</span>'); div.append('<input value= "' + data.url + '"'+'name="images['+ i +'][url]'+'"'+'>'); div.append('<span> alt屬性:</span>'); div.append('<input value= "' + data.origin_name + '"'+'name="images['+ i +'][alt]'+'"'+'>'); div.append('<br/>'); }); editor.hideDialog(); } }); }); }); }); </script> </head> <body> <input type="button" id="J_selectImage" value="批量上傳" /> <form action="sub.php" method="post"> <div id="J_imageView"></div> <br/> <input type="submit" value="確定上傳"/> </form> </body> </html>
效果如圖: