给wangeditor添加上标、下标功能

2023-11-12

我使用的wangeditor没有上标和下标功能,以下是自己添加功能的方法

1. 设计功能的函数和原型

/*
    Sup-menu
*/
// 构造函数
function Sup(editor) {
    this.editor = editor;
    this.$elem = $('<div class="w-e-menu">↑</div>');
    this.type = 'click';

    // 当前是否 active 状态
    this._active = false;
}

// 原型
Sup.prototype = {
    constructor: Sup,

    // 点击事件
    onClick: function onClick(e) {
        // 点击菜单将触发这里

        var editor = this.editor;
        var isSeleEmpty = editor.selection.isSelectionEmpty();

        if (isSeleEmpty) {
            // 选区是空的,插入并选中一个“空白”
            editor.selection.createEmptyRange();
        }

        // 执行 bold 命令
        editor.cmd.do('insertHTML','<sup>'+editor.selection.getSelectionText()+'</sup>');

        if (isSeleEmpty) {
            // 需要将选取折叠起来
            editor.selection.collapseRange();
            editor.selection.restoreSelection();
        }
    },

    // 试图改变 active 状态
    tryChangeActive: function tryChangeActive(e) {
        var editor = this.editor;
        var $elem = this.$elem;
        if (editor.cmd.queryCommandState('Sup')) {
            this._active = true;
            $elem.addClass('w-e-active');
        } else {
            this._active = false;
            $elem.removeClass('w-e-active');
        }
    }
};

2. 添加菜单注册

// 存储菜单的构造函数
var MenuConstructors = {};
MenuConstructors.bold = Bold;
MenuConstructors.head = Head;
MenuConstructors.fontSize = FontSize;
MenuConstructors.fontName = FontName;
MenuConstructors.link = Link;
MenuConstructors.italic = Italic;
MenuConstructors.redo = Redo;
MenuConstructors.strikeThrough = StrikeThrough;
MenuConstructors.underline = Underline;
MenuConstructors.HRline = HRline; //水平线
MenuConstructors.Sup = Sup; //上标
MenuConstructors.Sub = Sub; //下标
MenuConstructors.undo = Undo;
MenuConstructors.list = List;
MenuConstructors.justify = Justify;
MenuConstructors.foreColor = ForeColor;
MenuConstructors.backColor = BackColor;
MenuConstructors.quote = Quote;
MenuConstructors.code = Code;
MenuConstructors.emoticon = Emoticon;
MenuConstructors.table = Table;
MenuConstructors.video = Video;
MenuConstructors.mathsymbol = Mathsymbol;//公式输入器
MenuConstructors.image = Image;

3. 添加菜单配置

var config = {

    // 默认菜单配置 (修改菜单顺序)
    menus: [ 'bold','italic', 'underline', 'strikeThrough','Sup','Sub','HRline', 'head', 'fontSize', 'fontName',  'foreColor', 'backColor', 
    'list', 'justify',  'emoticon', 'image', 'table','mathsymbol', 'link', 'video','undo', 'redo'],

【说明】:用这种方法,可以很方便的添加wangeditor菜单中还没有的标签

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

给wangeditor添加上标、下标功能 的相关文章

  • C语言如何指针数组储存字符串,周立功教你学C语言编程:教你数组是如何保存指针的...

    gt gt gt gt 1 字符串与指针数组 如果有以下定义 int data0 1 data1 2 data2 3 int ptr0 data0 ptr1 data1 ptr2 data2 实际上地址也是数据 那么数组也可以保存指针 因此
  • java- SFTP文件上传下载

    JSch SFTP文件上传下载 文章目录 JSch SFTP文件上传下载 1 JSch简介 2 ChannelSftp常用Api JSch支持三种文件传输模式 文件上传 put 方法 文件下载 get 方法 3 SFTP上传下载代码实现 1
  • yolov5模型PC端加速方法

    最近工作中要对YOLOV5模型进行GPU加速 尝试过Tensorrt及Torch版本部署 下面做一下阶段总结 后期有新发现会持续更新 1 Tensorrt方法 GPU版本加速首先想到的肯定是TRT了 也尝试github上YOLOV5版本的T
  • Angular Tracy 小笔记 Demo 项目

    跟着项目走 项目结构 MVC 开发模式 三层结构 View视图层 html Control 逻辑处理层 ts Module 数据模型层 ts 新建数据层 ts 文件 如 recipes 下面手动创建的 recipe module ts re
  • angular12 angular.json

    一 angular json文件时如何产生的 angular6之前我们通过脚手架 angular cli 创建的项目会有一个angular cli json文件 此文件是cli的相关配置信息 在angular6 的版本后 原先的angula
  • echarts3d饼图,环形图(包含透明效果)

    效果图 饼图 环形图 带透明度的环形图 安装echarts echarts 5 1 2 echarts gl 2 0 8 import Vue from vue import as echarts from echarts import e
  • 区块链是什么意思?

    区块链是分布式数据存储 点对点传输 共识机制 加密算法等计算机技术的新型应用模式 所谓共识机制是区块链系统中实现不同节点之间建立信任 获取权益的数学算法 区块链 Blockchain 是比特币的一个重要概念 它本质上是一个去中心化的数据库
  • 如何在IDEA中运行Scala代码

    有些Java项目中会存在一些scala代码 scala不同于普通的java代码 就需要在idea中单独配置一下scala环境 下载scala相关包 https www scala lang org download scala2 html
  • 堆、栈、常量池的理解

    本文对java的栈 堆和常量池之间的关系以及存放的内容讲一些个人浅显的理解 1 栈 存放基本类型的数据和对象的引用 但对象本身不存放在栈中 而是存放在堆中 我的理解 栈其实是用于存放对象的地址 对象的引用其实就是地址 比如 Test tes
  • 吸顶那个叫什么_吸顶式无线ap优缺点(无线吸顶ap是什么)

    当我与大家分享如何桥接无线路由器以扩大无线网络的覆盖范围时 我提到如果我想获得更大的无线网络覆盖范围 无线接入点可以用于更稳定的无线信号 1 什么是美联社 接入点是接入点的缩写 它不仅仅是一个无线接入点 它能把有线网络转换成无线网络供我们使
  • java频繁创建对象优化方案

    java频繁创建对象优化方案 优化思路 具体实现 参考连接 霞光里 目前在项目中 需要频繁的创建对象 导致程序比较慢 优化思路 假如创建的对象 需要在 if 判断条件中使用 则在 if 判断条件中new新对象 这样可以减少对象的创建 使用浅
  • Java 字符串转换为字符数组(String转成char[]数组)的方法

    转载 Java 字符串转换为字符数组 String转成char 数组 的方法 java 字符串转字符数组 Smile sea breeze的博客 CSDN博客
  • C++11 互斥锁

    目录 互斥锁 2 1 独占互斥量std mutex std mutex使用Demo 2 2 递归互斥量std recursive mutex 死锁demo 使用std recursive mutex递归锁 2 3 带超时的互斥量 std t
  • cityscapes数据集的下载和应用

    链接内容 官方地址 https www cityscapes dataset com 使用git的地址 https github com mcordts cityscapesScripts 要自己登录download的哦 数据下载在官网下载
  • SQL注入之union联合注入

    特别申明 本文章仅供学习使用 其余利用本文章内容进行的任何行为与本人无关 做任何渗透操作前 请一定三思 做个遵纪守法的好公民 简介 在初见SQL注入提到三种分类方式 其中一个是根据注入是否有回显来进行分类 本文将详细讲解有回显这类的注入方式
  • 调试Learning to Generate Questions by Learning What not to Generate代码bug及解决

    一 路径问题 按要求下载BPE后 在prepro util py中修改路径 一直找不到 本来以为用相对路径 后来改成绝对路径就可以了 虽然bug很小 但解决时间过长 效率较低 还是对代码的基本功太差 二 导入时错误 经查阅资料 应该是导入时
  • vue解决el-select下拉框不显示label问题

    问题描述 最近在开发项目的过程中 遇到了这个问题 el select的下拉框数据是后端返回的 当点击下拉框选项时会请求后端的接口 当在请求接口的过程中label是有显示的 但是在请求完成后 label就没有显示了 问题来源 vue无法监听动
  • Visual Stuio Code C++环境配置(详细)

    目录 首语 先下载一个Visual studio code MinGW部分 环境变量添加 Visual Studio code环境配置 中文乱码 首语 大家在学习C 的时候就会先选择一个好的代码编辑器和代码编译器 有些人会选择Visual

随机推荐

  • 怎么在中国知网免费下载论文?

    作为一名马上就要毕业的学生 论文便提上了日程 写论文总是离不开阅读文献 在学校的话可以用校园网访问知网 然后下载中国知网的文献 如果不在学校的话 那就悲剧了 免费下载不了知网文献 下面我总结了几个下载中国知网文献的方法 希望能够帮到大家 百
  • docker里的mongo error: WT_ERROR: non-specific WiredTiger error“}解决方法

    背景 电脑强制重启后 docker里的mongo不能正常使用 索引不能位置被破坏 错误log是这样的 error WT ERROR non specific WiredTiger error 解决方法 简历另外一个容器 volume挂载和上
  • C++ 分数的加减乘除(运算符重载)

    文章目录 一 题目描述 二 输入与输出 1 输入 2 输出 三 参考代码 一 题目描述 Fraction类的基本形式如下 定义Fraction类 class Fraction private int fz fm int commonDivi
  • 奇异值分解的反变换matlab程序,奇异值分解(SVD)基础概念及MATLAB仿真

    奇异值分解 SVD 基础概念及MATLAB仿真 奇异值分解 SVD 基础概念及MATLAB仿真 奇异值分解 singular value decomposition 简称SVD 不仅广泛应用于机器学习领域 也在控制理论中有着广泛的应用 本文
  • springboot 启动异常Input length = 1解决

    问题原因是yml配置文件内容引起 并且yml内容没问题 空格也没问题 而是编码问题引起 在idea中打开settings gt Editor gt File Econdings 设置yml为UTF 8 如果还是启动失败 解决方法 将yml内
  • 一个合格(优秀)的前端都应该阅读这些文章

    的确 有些标题党了 起因是微信群里 有哥们问我 你是怎么学习前端的呢 能不能共享一下学习方法 一句话也挺触动我的 我真的不算是什么大佬 对于学习前端知识 我也不能说是掌握了什么捷径 当然 我个人的学习方法这篇文章已经在写了 预计这周末会在我
  • The overload Pattern

    最近研究有关C 17的书和博客文章时 偶然发现了这种访问模式std variant 使用overload模式 您可以 访问 提供单独的lambda include
  • 如何查看端口占用

    1 Win R 打开 运行 在 运行 中输入cmd 然后按电脑的回车进入命令行 2 输入命令 netstat ano 即可查出所有的端口占用信息 3 netstat ano findstr 端口 可查看具体的端口占用信息 4 查看有效会话
  • 关于B/S结构系统的会话机制(session机制)

    关于B S结构系统的会话机制 session机制 什么是会话 用户打开浏览器 进行一系列操作 最后关闭浏览器 这个整个过程叫做一次会话 真正意义上 会话是session对象的创建到结束的过程 一个session对应一个会话 在服务器端有一个
  • 虚拟机如何进行备份和迁移?

    文章目录 一 虚拟机的备份 方式一 使用VMvare自带的克隆功能 方式二 手动复制 二 虚拟机的迁移 本文以Ubuntu18 04为例 使用的工具是VMware Workstation 16 Pro 即VMware 最新版 Ubuntu1
  • 谷歌直链下载云盘数据集,使用谷歌云盘生成直接下载的url,示例: NeRFStudio-nerfacto默认训练数据集poster下载,nerfstudio 数据集下载链接

    1 如何生成谷歌直链下载云盘数据集的url 谷歌云盘 NeRFStudio nerfacto默认训练数据集poster下载链接 https drive google com uc export download confirm id 1dm
  • 差分与微分

    差分与微分 差分和微分都是数学中的一些基本概念 它们在数学 物理学 经济学和其他领域中都有广泛的应用 1 差分 差分可以理解为函数值之间的差别 特别地 如果一个函数 f f f 在两个相邻点 x 0
  • 【Qt教程】2.6 - Qt5 自定义控件封装

    自定义控件是将原有控件组合 封装 并填入自定义功能 留出适当的函数接口 方便其他控件的调用 设计窗口时 可以将控件拖入 方便模块化设计 GitHub代码仓库 Qt学习例程 1 建立工程 新建自定义控件 创建widget工程 新建控件 Add
  • 青龙面板打不开解决办法

    原因是cdn 自己修改一下就可以了 进入文件夹etc找到hosts etchosts 把这二个添加 104 16 88 20 cdn js delivr net 直接复制在最后一行 就可以解决问题了 或者 1 登陆linux 2 进入青龙容
  • alter database open resetlogs

    问题解决 先要弄清楚alter database open resetlogs是什么意思 为什么要用resetlogs打开数据库 这个命令发出后oracle都做了什么 alter database open resetlogs是要打开数据时
  • pytorch——torch.squeeze() 和torch.unsqueeze()的用法

    torch squeeze torch squeeze 这个函数主要对数据的维度进行压缩 去掉维数为1的的维度 比如是一行或者一列这种 一个一行三列 1 3 的数去掉第一个维数为一的维度之后就变成 3 行 torch squeeze a 就
  • 项目答辩PPT(一)

    以 运动APP 为例展开 1 项目整体介绍 定位和需求 在银行工作的王小姐是个健身爱好者 从制订健身计划 到约人一起跑步 再到周末预订场地和家人打一场羽毛球赛 她用一部手机轻松搞定 现在有了手机APP 运动方便多了 王小姐的运动方式是如今都
  • QT创建右键快捷菜单

    0 目标 在Qcommbobox右键出来菜单 点击BCC校验 自动算出校验值填入编辑框 1 UI界面选择Action editor 新建action 记住对象名 actionBCC 右键action 点击转到槽 选择triggered 点击
  • 指针(一)——指针与二级指针

    一 指针理解 指针是一个变量 用来存放地址的变量 指针变量 是一个变量 是指有一个存储空间 里面放的是指针 变量指针 变量的地址 指针的存在是为了方便计算机的内存管理 经过计算和权衡 我们发现 一个字节给一个地址是比较合适的 在32位的机器
  • 给wangeditor添加上标、下标功能

    我使用的wangeditor没有上标和下标功能 以下是自己添加功能的方法 1 设计功能的函数和原型 Sup menu 构造函数 function Sup editor this editor editor this elem div cla