| 
							
								 | 
							
							<!DOCTYPE html>
 | 
						
						
						
						
							 | 
							
								 | 
							
							<html lang="zh">
 | 
						
						
						
						
							 | 
							
								 | 
							
							    <head>
 | 
						
						
						
						
							 | 
							
								 | 
							
							        <meta charset="utf-8" />
 | 
						
						
						
						
							 | 
							
								 | 
							
							        <title>自定义工具栏 - Editor.md examples</title>
 | 
						
						
						
						
							 | 
							
								 | 
							
							        <link rel="stylesheet" href="css/style.css" />
 | 
						
						
						
						
							 | 
							
								 | 
							
							        <link rel="stylesheet" href="../css/editormd.css" />
 | 
						
						
						
						
							 | 
							
								 | 
							
							        <link rel="shortcut icon" href="https://pandao.github.io/editor.md/favicon.ico" type="image/x-icon" />
 | 
						
						
						
						
							 | 
							
								 | 
							
							    </head>
 | 
						
						
						
						
							 | 
							
								 | 
							
							    <body>
 | 
						
						
						
						
							 | 
							
								 | 
							
							        <div id="layout">
 | 
						
						
						
						
							 | 
							
								 | 
							
							            <header>
 | 
						
						
						
						
							 | 
							
								 | 
							
							                <h1>自定义工具栏</h1> 
 | 
						
						
						
						
							 | 
							
								 | 
							
							                <p>Custom toolbar (icons handler)</p>   
 | 
						
						
						
						
							 | 
							
								 | 
							
							            </header>
 | 
						
						
						
						
							 | 
							
								 | 
							
							            <div id="test-editormd">
 | 
						
						
						
						
							 | 
							
								 | 
							
							                <textarea style="display:none;">### Custom toolbar
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							```javascript
 | 
						
						
						
						
							 | 
							
								 | 
							
							$(function() {
 | 
						
						
						
						
							 | 
							
								 | 
							
							    var testEditor = editormd("test-editormd", {
 | 
						
						
						
						
							 | 
							
								 | 
							
							        width: "90%",
 | 
						
						
						
						
							 | 
							
								 | 
							
							        height: 640,
 | 
						
						
						
						
							 | 
							
								 | 
							
							        path : '../lib/',
 | 
						
						
						
						
							 | 
							
								 | 
							
							        toolbarIcons : function() {
 | 
						
						
						
						
							 | 
							
								 | 
							
							            // Or return editormd.toolbarModes[name]; // full, simple, mini
 | 
						
						
						
						
							 | 
							
								 | 
							
							            // Using "||" set icons align right.
 | 
						
						
						
						
							 | 
							
								 | 
							
							            return ["undo", "redo", "|", "bold", "hr", "|", "preview", "watch", "|", "fullscreen", "info", "testIcon", "testIcon2", "file", "faicon", "||", "watch", "fullscreen", "preview", "testIcon"]
 | 
						
						
						
						
							 | 
							
								 | 
							
							        },
 | 
						
						
						
						
							 | 
							
								 | 
							
							        toolbarIconsClass : {
 | 
						
						
						
						
							 | 
							
								 | 
							
							            testIcon : "fa-gears"  // 指定一个FontAawsome的图标类
 | 
						
						
						
						
							 | 
							
								 | 
							
							        },
 | 
						
						
						
						
							 | 
							
								 | 
							
							        toolbarIconTexts : {
 | 
						
						
						
						
							 | 
							
								 | 
							
							            testIcon2 : "测试按钮"  // 如果没有图标,则可以这样直接插入内容,可以是字符串或HTML标签
 | 
						
						
						
						
							 | 
							
								 | 
							
							        },
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							        // 用于增加自定义工具栏的功能,可以直接插入HTML标签,不使用默认的元素创建图标
 | 
						
						
						
						
							 | 
							
								 | 
							
							        toolbarCustomIcons : {
 | 
						
						
						
						
							 | 
							
								 | 
							
							            file   : "<input type="file" accept=".md" />",
 | 
						
						
						
						
							 | 
							
								 | 
							
							            faicon : "<i class="fa fa-star" onclick="alert('faicon');"></i>"
 | 
						
						
						
						
							 | 
							
								 | 
							
							        },
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							        // 自定义工具栏按钮的事件处理
 | 
						
						
						
						
							 | 
							
								 | 
							
							        toolbarHandlers : {
 | 
						
						
						
						
							 | 
							
								 | 
							
							            /**
 | 
						
						
						
						
							 | 
							
								 | 
							
							             * @param {Object}      cm         CodeMirror对象
 | 
						
						
						
						
							 | 
							
								 | 
							
							             * @param {Object}      icon       图标按钮jQuery元素对象
 | 
						
						
						
						
							 | 
							
								 | 
							
							             * @param {Object}      cursor     CodeMirror的光标对象,可获取光标所在行和位置
 | 
						
						
						
						
							 | 
							
								 | 
							
							             * @param {String}      selection  编辑器选中的文本
 | 
						
						
						
						
							 | 
							
								 | 
							
							             */
 | 
						
						
						
						
							 | 
							
								 | 
							
							            testIcon : function(cm, icon, cursor, selection) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							                //var cursor    = cm.getCursor();     //获取当前光标对象,同cursor参数
 | 
						
						
						
						
							 | 
							
								 | 
							
							                //var selection = cm.getSelection();  //获取当前选中的文本,同selection参数
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							                // 替换选中文本,如果没有选中文本,则直接插入
 | 
						
						
						
						
							 | 
							
								 | 
							
							                cm.replaceSelection("[" + selection + ":testIcon]");
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							                // 如果当前没有选中的文本,将光标移到要输入的位置
 | 
						
						
						
						
							 | 
							
								 | 
							
							                if(selection === "") {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    cm.setCursor(cursor.line, cursor.ch + 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							                }
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							                // this == 当前editormd实例
 | 
						
						
						
						
							 | 
							
								 | 
							
							                console.log("testIcon =>", this, cm, icon, cursor, selection);
 | 
						
						
						
						
							 | 
							
								 | 
							
							            },
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							            testIcon2 : function(cm, icon, cursor, selection) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                cm.replaceSelection("[" + selection + ":testIcon2](" + icon.html() + ")");
 | 
						
						
						
						
							 | 
							
								 | 
							
							                console.log("testIcon2 =>", this, icon.html());
 | 
						
						
						
						
							 | 
							
								 | 
							
							            }
 | 
						
						
						
						
							 | 
							
								 | 
							
							        },
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							        lang : {
 | 
						
						
						
						
							 | 
							
								 | 
							
							            toolbar : {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                file : "上传文件",
 | 
						
						
						
						
							 | 
							
								 | 
							
							                testIcon : "自定义按钮testIcon",  // 自定义按钮的提示文本,即title属性
 | 
						
						
						
						
							 | 
							
								 | 
							
							                testIcon2 : "自定义按钮testIcon2",  
 | 
						
						
						
						
							 | 
							
								 | 
							
							                undo : "撤销 (Ctrl+Z)"
 | 
						
						
						
						
							 | 
							
								 | 
							
							            }
 | 
						
						
						
						
							 | 
							
								 | 
							
							        },
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							        onload : function(){
 | 
						
						
						
						
							 | 
							
								 | 
							
							            $("[type=\"file\"]").bind("change", function(){
 | 
						
						
						
						
							 | 
							
								 | 
							
							                alert($(this).val());
 | 
						
						
						
						
							 | 
							
								 | 
							
							                testEditor.cm.replaceSelection($(this).val());
 | 
						
						
						
						
							 | 
							
								 | 
							
							                console.log($(this).val(), testEditor);
 | 
						
						
						
						
							 | 
							
								 | 
							
							            });
 | 
						
						
						
						
							 | 
							
								 | 
							
							        }
 | 
						
						
						
						
							 | 
							
								 | 
							
							    });
 | 
						
						
						
						
							 | 
							
								 | 
							
							});
 | 
						
						
						
						
							 | 
							
								 | 
							
							```
 | 
						
						
						
						
							 | 
							
								 | 
							
							</textarea>
 | 
						
						
						
						
							 | 
							
								 | 
							
							            </div>
 | 
						
						
						
						
							 | 
							
								 | 
							
							        </div>
 | 
						
						
						
						
							 | 
							
								 | 
							
							        
 | 
						
						
						
						
							 | 
							
								 | 
							
							        <script src="js/jquery.min.js"></script>
 | 
						
						
						
						
							 | 
							
								 | 
							
							        <script src="../editormd.js"></script> 
 | 
						
						
						
						
							 | 
							
								 | 
							
							        <!-- 多语言和自定义工具栏的整合测试 -->
 | 
						
						
						
						
							 | 
							
								 | 
							
							        <script src="../languages/en.js"></script>   
 | 
						
						
						
						
							 | 
							
								 | 
							
							        <script type="text/javascript">
 | 
						
						
						
						
							 | 
							
								 | 
							
							            $(function() {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                var testEditor = editormd("test-editormd", {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    width: "90%",
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    height: 640,
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    path : '../lib/',
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    watch : false,
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    toolbarIcons : function() {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        // Or return editormd.toolbarModes[name]; // full, simple, mini
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        // Using "||" set icons align right.
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        return ["undo", "redo", "|", "bold", "hr", "|", "preview", "watch", "|", "fullscreen", "info", "testIcon", "testIcon2", "file", "faicon", "||", "watch", "fullscreen", "preview", "testIcon", "file"]
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    },
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    // toolbarIcons : "full", // You can also use editormd.toolbarModes[name] default list, values: full, simple, mini.
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    toolbarIconsClass : {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        testIcon : "fa-gears"  // 指定一个FontAawsome的图标类
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    },
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    toolbarIconTexts : {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        testIcon2 : "测试按钮Test button"  // 如果没有图标,则可以这样直接插入内容,可以是字符串或HTML标签
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    },
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    // 用于增加自定义工具栏的功能,可以直接插入HTML标签,不使用默认的元素创建图标
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    toolbarCustomIcons : {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        file   : "<input type=\"file\" accept=\".md\" />",
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        faicon : "<i class=\"fa fa-star\" onclick=\"alert('faicon');\"></i>"
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    },
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    // 自定义工具栏按钮的事件处理
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    toolbarHandlers : {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        /**
 | 
						
						
						
						
							 | 
							
								 | 
							
							                         * @param {Object}      cm         CodeMirror对象
 | 
						
						
						
						
							 | 
							
								 | 
							
							                         * @param {Object}      icon       图标按钮jQuery元素对象
 | 
						
						
						
						
							 | 
							
								 | 
							
							                         * @param {Object}      cursor     CodeMirror的光标对象,可获取光标所在行和位置
 | 
						
						
						
						
							 | 
							
								 | 
							
							                         * @param {String}      selection  编辑器选中的文本
 | 
						
						
						
						
							 | 
							
								 | 
							
							                         */
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        testIcon : function(cm, icon, cursor, selection) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            //var cursor    = cm.getCursor();     //获取当前光标对象,同cursor参数
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            //var selection = cm.getSelection();  //获取当前选中的文本,同selection参数
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            // 替换选中文本,如果没有选中文本,则直接插入
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            cm.replaceSelection("[" + selection + ":testIcon]");
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            // 如果当前没有选中的文本,将光标移到要输入的位置
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            if(selection === "") {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                                cm.setCursor(cursor.line, cursor.ch + 1);
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            }
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            // this == 当前editormd实例
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            console.log("testIcon =>", this, cm, icon, cursor, selection);
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        },
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        testIcon2 : function(cm, icon, cursor, selection) {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            cm.replaceSelection("[" + selection + ":testIcon2](" + icon.html() + ")");
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            console.log("testIcon2 =>", this, icon.html());
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        }
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    },
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    lang : {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        toolbar : {
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            file : "上传文件",
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            testIcon : "自定义按钮testIcon",  // 自定义按钮的提示文本,即title属性
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            testIcon2 : "自定义按钮testIcon2",  
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            undo : "撤销 (Ctrl+Z)"
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        }
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    },
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    onload : function(){
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        $("[type=\"file\"]").bind("change", function(){
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            alert($(this).val());
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            testEditor.cm.replaceSelection($(this).val());
 | 
						
						
						
						
							 | 
							
								 | 
							
							                            console.log($(this).val(), testEditor);
 | 
						
						
						
						
							 | 
							
								 | 
							
							                        });
 | 
						
						
						
						
							 | 
							
								 | 
							
							                    }
 | 
						
						
						
						
							 | 
							
								 | 
							
							                });
 | 
						
						
						
						
							 | 
							
								 | 
							
							            });
 | 
						
						
						
						
							 | 
							
								 | 
							
							        </script>
 | 
						
						
						
						
							 | 
							
								 | 
							
							    </body>
 | 
						
						
						
						
							 | 
							
								 | 
							
							</html> |