首页 > 代码库 > 基于jquery的bootstrap在线文本编辑器插件Summernote

基于jquery的bootstrap在线文本编辑器插件Summernote

 Summernote是一个基于jquery的bootstrap超级简单WYSIWYG在线编辑器。Summernote非常的轻量级,大小只有30KB,支持Safari,Chrome,Firefox、Opera、Internet Explorer 9 +(IE8支持即将到来)。

技术分享

特点:

世界上最好的WYSIWYG在线编辑器

极易安装

开源

自定义初化选项

支持快捷键

适用于各种后端程序言语

使用方法

下载地址:http://www.yyyweb.com/demo/inner-show/summernote.html

将下载下来的summernote文件解压,将解压的文件放入到项目中,显示如下:

技术分享

然后在你需要调用的界面中引入核心文件,Summernote需要几个JS库的支持,所以得先引入其它库

<!-- include libries(jQuery, bootstrap, fontawesome) --><script src=http://www.mamicode.com/"//code.jquery.com/jquery-1.9.1.min.js"></script><link href=http://www.mamicode.com/"//netdna.bootstrapcdn.com/bootstrap/3.0.1/css/bootstrap.min.css"><script src=http://www.mamicode.com/"//netdna.bootstrapcdn.com/bootstrap/3.0.1/js/bootstrap.min.js"></script><link href=http://www.mamicode.com/"//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css"> <!-- include summernote css/js--><link href=http://www.mamicode.com/"summernote.css" /><script src=http://www.mamicode.com/"summernote.min.js"></script>

写入html,只需在body中加入一个DIV元素,写上ID

<div id="summernote">Hello Summernote</div>

写入JS初始化插件

$(document).ready(function() {        $(#summernote).summernote();    });

最终代码

<!DOCTYPE html><html lang="en"><head>    <title>    </title>    <script type="text/javascript" src=http://www.mamicode.com/"//code.jquery.com/jquery-1.9.1.min.js"></script>    <link href=http://www.mamicode.com/"//netdna.bootstrapcdn.com/bootstrap/3.0.1/css/bootstrap.min.css" rel="stylesheet">    <script type="text/javascript" src=http://www.mamicode.com/"//netdna.bootstrapcdn.com/bootstrap/3.0.1/js/bootstrap.min.js"></script>    <link href=http://www.mamicode.com/"//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet">    <link href=http://www.mamicode.com/"~/js/summernote/dist/summernote.css" rel="stylesheet" />    <script type="text/javascript" src=http://www.mamicode.com/"~/js/summernote/dist/summernote.min.js"></script></head><body>    <div id="summernote">Hello Summernote</div>    <script type="text/javascript">        $(document).ready(function () {            $(#summernote).summernote();        });    </script></body></html>

API

初始化Summernote

$(.summernote).summernote();

使用参数初始化

设定高度与焦点

$(.summernote).summernote({  height: 300,                 // set editor height   minHeight: null,             // set minimum height of editor  maxHeight: null,             // set maximum height of editor   focus: true,                 // set focus to editable area after initializing summernote});

设定高度后,如果内容高度超过设定高度将出现滚动条,如果没有设定高度则一直往下挣开。设定focus为true时,打开页面后焦点定位到编辑器中。

自定义工具栏

$(.summernote).summernote({  toolbar: [    //[groupname, [button list]]          [style, [bold, italic, underline, clear]],    [font, [strikethrough]],    [fontsize, [fontsize]],    [color, [color]],    [para, [ul, ol, paragraph]],    [height, [height]],  ]});

预设参数

类型按钮id方法
InsertpictureInsert a picture
linkInsert a hyperlink
videoInsert a video
tableInsert a table
hrInsert a horizontal rule
StylestyleFormat selected block
fontnameSet font family
fontsizeSet font size
colorSet foreground and background color
boldToggle weight
italicToggle italic
underlineToggle underline
strikethroughToggle strikethrough
clearClearing all styles
LayoutulMake an un-ordered list
olMake an ordered list
paragraphSet text alignment
heightSet height of text
MiscfullscreenToggle fullscreen editing mode
codeviewToggle wysiwyg and html editing mode
undoUndo
redoRedo
helpShow help dialog

极简模式Air-mode

$(.summernote).summernote({  airPopover: [    [color, [color]],    [font, [bold, underline, clear]],    [para, [ul, paragraph]],    [table, [table]],    [insert, [link, picture]]  ]});

释放Summernote

$(.summernote).destroy();

取值与赋值

//取值var sHTML = $(.summernote).code();//同一页面多个summernote时,取第二个的值var sHTML = $(.summernote).eq(1).code();//赋值$(.summernote).code(sHTML);

事件

oninit

$(#summernote).summernote({  oninit: function() {    console.log(Summernote is launched);  }});

onenter

$(#summernote).summernote({  onenter: function(e) {    console.log(Enter/Return key pressed);  }});

 

详细文件参见:http://www.jqcool.net/bootstrap-summernote.html

 

基于jquery的bootstrap在线文本编辑器插件Summernote