Summernote
Summernote是一个基于jquery的bootstrap超级简单WYSIWYG在线编辑器。Summernote非常的轻量级,大小只有30KB,支持Safari,Chrome,Firefox、Opera、Internet Explorer 9 +(IE8支持即将到来)。
特点:
世界上最好的WYSIWYG在线编辑器
极易安装
开源
自定义初化选项
支持快捷键
适用于各种后端程序言语
使用方法
使用html5文档
| 
 1 
2 
3 
4 
 | 
<!DOCTYPE html><html>...</html> | 
引入核心文件,Summernote需要几个JS库的支持,所以得先引入其它库
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
 | 
<!-- include libries(jQuery, bootstrap, fontawesome) --><script src="//code.jquery.com/jquery-1.9.1.min.js"></script><link href="//netdna.bootstrapcdn.com/bootstrap/3.0.1/css/bootstrap.min.css"><script src="//netdna.bootstrapcdn.com/bootstrap/3.0.1/js/bootstrap.min.js"></script><link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css"><!-- include summernote css/js--><link href="summernote.css" /><script src="summernote.min.js"></script> | 
写入html,只需加入一个DIV元素,写上ID
| 
 1 
 | 
<div id="summernote">Hello Summernote</div> | 
写入JS初始化插件
| 
 1 
2 
3 
 | 
$(document).ready(function() {        $('#summernote').summernote();    }); | 
API
初始化Summernote
| 
 1 
 | 
$('.summernote').summernote(); | 
使用参数初始化
设定高度与焦点
| 
 1 
2 
3 
4 
5 
6 
7 
 | 
$('.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时,打开页面后焦点定位到编辑器中。
自定义工具栏
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
 | 
$('.summernote').summernote({  toolbar: [    //[groupname, [button list]]          ['style', ['bold', 'italic', 'underline', 'clear']],    ['font', ['strikethrough']],    ['fontsize', ['fontsize']],    ['color', ['color']],    ['para', ['ul', 'ol', 'paragraph']],    ['height', ['height']],  ]}); | 
预设参数
| 类型 | 按钮id | 方法 | 
|---|---|---|
| Insert | picture | Insert a picture | 
| link | Insert a hyperlink | |
| video | Insert a video | |
| table | Insert a table | |
| hr | Insert a horizontal rule | |
| Style | style | Format selected block | 
| fontname | Set font family | |
| fontsize | Set font size | |
| color | Set foreground and background color | |
| bold | Toggle weight | |
| italic | Toggle italic | |
| underline | Toggle underline | |
| strikethrough | Toggle strikethrough | |
| clear | Clearing all styles | |
| Layout | ul | Make an un-ordered list | 
| ol | Make an ordered list | |
| paragraph | Set text alignment | |
| height | Set height of text | |
| Misc | fullscreen | Toggle fullscreen editing mode | 
| codeview | Toggle wysiwyg and html editing mode | |
| undo | Undo | |
| redo | Redo | |
| help | Show help dialog | 
极简模式Air-mode
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
 | 
$('.summernote').summernote({  airPopover: [    ['color', ['color']],    ['font', ['bold', 'underline', 'clear']],    ['para', ['ul', 'paragraph']],    ['table', ['table']],    ['insert', ['link', 'picture']]  ]}); | 
释放Summernote
| 
 1 
 | 
$('.summernote').destroy(); | 
取值与赋值
| 
 1 
2 
3 
4 
5 
6 
 | 
//取值var sHTML = $('.summernote').code();//同一页面多个summernote时,取第二个的值var sHTML = $('.summernote').eq(1).code();//赋值$('.summernote').code(sHTML); | 
事件
oninit
| 
 1 
2 
3 
4 
5 
 | 
$('#summernote').summernote({  oninit: function() {    console.log('Summernote is launched');  }}); | 
onenter
| 
 1 
2 
3 
4 
5 
 | 
$('#summernote').summernote({  onenter: function(e) {    console.log('Enter/Return key pressed');  }}); | 
onfocus
| 
 1 
2 
3 
4 
5 
 | 
$('#summernote').summernote({  onfocus: function(e) {    console.log('Editable area is focused');  }}); | 
onblur
| 
 1 
2 
3 
4 
5 
 | 
$('#summernote').summernote({  onblur: function(e) {    console.log('Editable area loses focus');  }}); | 
onkeyup
| 
 1 
2 
3 
4 
5 
 | 
$('#summernote').summernote({  onkeyup: function(e) {    console.log('Key is released:', e.keyCode);  }}); | 
onkeydown
| 
 1 
2 
3 
4 
5 
 | 
$('#summernote').summernote({  onkeydown: function(e) {    console.log('Key is pressed:', e.keyCode);  }}); | 
onpaste
| 
 1 
2 
3 
4 
5 
 | 
$('#summernote').summernote({  onpaste: function(e) {    console.log('Called event paste');  }}); | 
onImageUpload
可以重写图片上传句柄
| 
 1 
2 
3 
4 
5 
 | 
$('#summernote').summernote({  onImageUpload: function(files, editor, $editable) {    console.log('image upload:', files, editor, $editable);  }}); | 
onChange
IE9-10: DOMCharacterDataModified, DOMSubtreeModified, DOMNodeInserted
Chrome, FF: input
| 
 1 
2 
3 
4 
5 
 | 
$('#summernote').summernote({  onChange: function(contents, $editable) {    console.log('onChange:', contents, $editable);  }}); | 
支持18国语言,使用时引入你需要的语言文件,lang值设为你需要的语言
| 
 1 
2 
3 
4 
5 
6 
7 
8 
 | 
<!-- include summernote-ko-KR --><script src="lang/summernote-ko-KR.js"></script>$(document).ready(function() {  $('#summernote').summernote({    lang: 'ko-KR' // default: 'en-US'  });}); | 
Summernote的更多相关文章
- 基于jquery的bootstrap在线文本编辑器插件Summernote
		
Summernote是一个基于jquery的bootstrap超级简单WYSIWYG在线编辑器.Summernote非常的轻量级,大小只有30KB,支持Safari,Chrome,Firefox.Op ...
 - Summernote – 基于 Bootstrap 的文本编辑器
		
Summernote 是一个简单,灵活,所见即所得(WYSIWYG)的编辑器,基于 jQuery 和 Bootstrap 构建.Summernote 所有主要的操作都支持快捷键,有一个功能强大的 AP ...
 - Odoo Website 替换 Summernote 为第三方富文本编辑器
		
随着用odoo的人越来越多,奇葩的需求也是越来越多.... 这不,有同学就想替换掉website forum里边的summernote控件,花了点时间研究了一下,先说结论:替换是可行的. 先上替换之后 ...
 - Bootstrap-基于jquery的bootstrap在线文本编辑器插件Summernote
		
Summernote是一个基于jquery的bootstrap超级简单WYSIWYG在线编辑器.Summernote非常的轻量级,大小只有30KB,支持Safari,Chrome,Firefox.Op ...
 - Jquery的bootstrap在线文本编辑器插件Summernote
		
http://www.jqcool.net/demo/201407/bootstrap-summernote/ Summernote是一个基于jquery的bootstrap超级简单WYSIWYG在线 ...
 - summernote使用心得
		
今日因项目需要所以使用了很有名气的富文本编辑器summernote,分享使用方法如下!填了一点坑,提供给需要的朋友借鉴! 直接转入我的前端网 地址: http://www.qdfuns.com/not ...
 - 基于Metronic的Bootstrap开发框架经验总结(17)-- 使用 summernote插件实现HTML文档的编辑和图片插入操作
		
在很多场合,我们需要在线编辑HTML内容,然后在页面上或者其他终端上(如小程序.APP应用等)显示,编辑HTML内容的插件有很多,本篇介绍基于Bootstrap的 summernote插件实现HTML ...
 - bootstrap插件summernote 的使用
		
一.有时Java工程中会用到summernote 编辑器,下面简单说一下引用 1.将summernote 相应的文件放到工程中(webapp下面) 2.建一个jsp文件,在文件中引入相应的js.css ...
 - Vue.js中集成summernote
		
首先引用summernote样式及js: <!--summernote css --> <link href="${ctxPath}/static/css/summerno ...
 
随机推荐
- web发布 将各个文件夹输出合并到其自己的程序集 注意事项
			
今天在发布web网站的时候 使用了“将各个文件夹输出合并到其自己的程序集”的选项,如图: 开始在 程序集前缀(可选)处,没有填写内容. 发布到IIS后出现未加载到程序集xxxx的错误. 经过各种调试, ...
 - JavaScript模块化编程
			
为什么模块化很重要?因为有了模块,我们就可以更方便的使用别人的代码,想要什么功能,就加载什么模块. 万事都有规矩,就是规范化! 目前,通行的Javascript模块规范有两种: CommonJS和AM ...
 - 第七章:LED将为我闪烁:控制发光二极管
			
在之前章节了解到Linux驱动程序可以控制软硬件,可以实现软硬件之间的交互.在这章我们学习LED驱动的实现原理.Linux内核提供了多个与I/O内存交互的函数可以实现控制硬件. 编写LE ...
 - CSS背景色渐变
			
试了下 渐变色 ,主要确定开始位置 结束位置,以及对应的color-stop; 以下是兼容不同浏览器的代码片段 代码:<style type="text/css& ...
 - 自己瞎捣腾的Win7下Linux安装之路-----图例篇
			
写在前面 网上很多这方面的教程,我也是参考他们的文章和一些书籍才弄成功.没啥创新性,只为记录下来,以供自已理解和以后复习. 所谓工欲善其事,必先利其器.俺想学习Linux,当然是要先装一个Linux( ...
 - const成员变量初始化总结
			
const可以用来声明常量也就是说他的值不能被修改: const成员必须在定义的时候同时初始化,不能进行赋值 如 const int a:a的值不能修改,不能给它赋值,如何才能让它一开始就拥有一个值? ...
 - 移动端bug~~移动端:active伪类无效的解决方法【移动端 :active样式无效】
			
移动端:active伪类无效的解决方法[移动端 :active样式无效]2016-09-26 15:46:50 问题: 移动端开发的时候实现按钮的点击样式变化,但是在iphone[safiri Mo ...
 - Docker学习(2)
			
列出本地镜像,位于/var/lib/docker下 ➜ ~ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu ...
 - 酷炫ILOVEU
			
assume cs:code code segment main: ;显示背景22*80 ;dh中放行号 ;dl中放列号 bibi: push cx ;显示光标 ;第0页 int 10h ;在光标处显 ...
 - 王爽<<汇编语言>>  实验十四
			
;以"年/月/日 时:分:秒"的格式, 显示当前的日期, 时间 assume cs:code code segment main: out 70h,al ;告诉CMOS RAM将要 ...