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 ...
随机推荐
- iOS Orientation bug
Every September means pain for iOS developers- you need to make sure your old apps/code run on the n ...
- win10下 homestead 安装
1.安装VirtualBox 和 Vagrant 2.git或者composer安装 homestead git clone https://github.com/laravel/homestead. ...
- Qt错误总结
Qt时常发生的错误总结 1,代码有问题,但是它却告诉你别的地方-比头文件不能读取,贼蛋疼! 2,库文件问题,会出现一大堆错误,这个时候就要好好检查库文件了. 3,版本问题,Qt版本升级时有些东西会变化 ...
- 【我是老中医】codeblocks无法编译的问题解决方法
前几天把codeblocks的文件夹移动到移动硬盘里面,结果发现从此以后代码不能编译了,当时没有注意,就改用vs写代码,发现真的不是很习惯,正好学妹也碰到这种问题问我怎么解决,然后就百度了一下. 我的 ...
- lame边录音边转换
文章出处:http://big-joe.blog.sohu.com/88902836.html void CViewTFreqList::RecFileInit(LPCTSTR sFileName, ...
- ANYBUS AB9005-B配置
连接 使用232时,要将anybus的2.3脚短路,还有就是Rx和Tx脚分别为7.8,要参照我们需要通讯设备的针脚重新制作232电缆. 正常连接时连接灯(COM\LA1\LA2)为绿色闪烁. TCOM ...
- OpenGL顶点数组
概述 作为在立即模式(glBegin()与glEnd()之间)下指定单个顶点数据的替代,你可以保存顶点数据在一组列表中,包括顶点位置.法线.纹理坐标与颜色信息.并且你可以通过索引数组解引用数组元素绘制 ...
- 在asp.net中显示PDF的方法:
来源:http://www.cnblogs.com/tengs2000/archive/2009/02/23/1396646.html 一.直接显示,使用的还是原页面的URL Response.Con ...
- KO中对象数组排序时,两个属性的优先顺序不一致时的排序实现
function FromSort(left, right, asc) { if (left.属性1 != "") { if (right.属性1 != &qu ...
- spring.net xml 命名空间
<objects xmlns="http://www.springframework.net" xmlns:xsi="http://www.w3.org ...