有没有办法在summernote编辑器中同时启用默认工具栏和空气模式工具栏?
例如,我需要用户首先使用默认工具栏编辑textarea,当他只想编辑一个单词时,他可以选择它并弹出空气模式工具栏。 (就像微软的话一样)
谢谢
答案 0 :(得分:1)
我通过编辑summernote的源代码并重建它(需要npm)来做到这一点。你只需要编辑两个文件并进行构建就很容易了。
下载/克隆summernote - 开发源代码
https://github.com/summernote/summernote
请按照以下步骤操作
1.打开文件夹summernote-develop
2.打开src/js/bs3/module/Toolbar.js
你会找到行
this.shouldInitialize = function () {
return !options.airMode;
};
此代码实际检查airMode是否为true,然后它不会初始化工具栏,现在将代码更改为 <
/ p>
this.shouldInitialize = function () {
return true;
};
并保存。
3.打开src/js/bs3/ui.js
您可以在第176行找到此代码。
var $editor = (options.airMode ? ui.airEditor([
ui.editingArea([
ui.airEditable()
])
]) : ui.editor([
ui.toolbar(),
ui.editingArea([
ui.codable(),
ui.editable()
]),
ui.statusbar()
])).render();
此代码通常会检查airMode并相应地加载UI,我们需要加载传统的UI,无论airMode说什么。将其更改为
var $editor = (ui.editor([
ui.toolbar(),
ui.editingArea([
ui.codable(),
ui.editable()
]),
ui.statusbar()
])).render();
这将加载传统的夏令营ui。
4.现在我们必须重建整个项目生成所需的js文件,在终端上执行这些命令
summernote-develop username $ npm install
summernote-develop username $ npm run build
注意:不要忘记在初始化summernote时启用airMode,即 airMode:true