Vue 实现对quill-editor组件中的工具栏添加title


Posted in Javascript onAugust 03, 2020

前言:quill-editor组件中的工具栏都是英文,而且最难受的时没有title提示,要怎样给他添加title,并且是中文的title提示呢?

一、创建一个quill-title.js文件

①、在其中插入以下代码

const titleConfig = {
 'ql-bold':'加粗',
 'ql-color':'颜色',
 'ql-font':'字体',
 'ql-code':'插入代码',
 'ql-italic':'斜体',
 'ql-link':'添加链接',
 'ql-background':'背景颜色',
 'ql-size':'字体大小',
 'ql-strike':'删除线',
 'ql-script':'上标/下标',
 'ql-underline':'下划线',
 'ql-blockquote':'引用',
 'ql-header':'标题',
 'ql-indent':'缩进',
 'ql-list':'列表',
 'ql-align':'文本对齐',
 'ql-direction':'文本方向',
 'ql-code-block':'代码块',
 'ql-formula':'公式',
 'ql-image':'图片',
 'ql-video':'视频',
 'ql-clean':'清除字体样式'
};
 
export function addQuillTitle(){
 const oToolBar = document.querySelector('.ql-toolbar'),
    aButton = oToolBar.querySelectorAll('button'),
    aSelect = oToolBar.querySelectorAll('select');
 aButton.forEach(function(item){
  if(item.className === 'ql-script'){
   item.value === 'sub' ? item.title = '下标': item.title = '上标';
  }else if(item.className === 'ql-indent'){
   item.value === '+1' ? item.title ='向右缩进': item.title ='向左缩进';
  }else{
   item.title = titleConfig[item.classList[0]];
  }
 });
 aSelect.forEach(function(item){
  item.parentNode.title = titleConfig[item.classList[0]];
 });
}

②、在页面中应用

<template>
 <quill-editor v-model="content" >
 </quill-editor>
</template>
 
<script>
 
 import { quillEditor } from 'vue-quill-editor'
 import { addQuillTitle } from './quill-title.js'
 
 export default {
  components: {
   quillEditor
  },
  mounted(){
   addQuillTitle();
  },
  data() {
   return {
    content: '<h2>freddy</h2>',
   }
  }
 }
</script>

③、运行结果

Vue 实现对quill-editor组件中的工具栏添加title

像这样鼠标移入的时候就会显示title了。

补充知识:自定义设置vue-quill-editor toolbar的title属性

直接看代码吧~

const titleConfig = {
 'ql-bold':'加粗',
 'ql-color':'字体颜色',
 'ql-font':'字体',
 'ql-code':'插入代码',
 'ql-italic':'斜体',
 'ql-link':'添加链接',
 'ql-background':'背景颜色',
 'ql-size':'字体大小',
 'ql-strike':'删除线',
 'ql-script':'上标/下标',
 'ql-underline':'下划线',
 'ql-blockquote':'引用',
 'ql-header':'标题',
 'ql-indent':'缩进',
 'ql-list':'列表',
 'ql-align':'文本对齐',
 'ql-direction':'文本方向',
 'ql-code-block':'代码块',
 'ql-formula':'公式',
 'ql-image':'图片',
 'ql-video':'视频',
 'ql-clean':'清除字体样式'
};

export function addQuillTitle(){
 const oToolBar = document.querySelector('.ql-toolbar'),
    aButton = oToolBar.querySelectorAll('button'),
    aSelect = oToolBar.querySelectorAll('select'),
    aSpan= oToolBar.querySelectorAll('span');
 aButton.forEach((item)=>{
  if(item.className === 'ql-script'){
   item.value === 'sub' ? item.title = '下标': item.title = '上标';
  }else if(item.className === 'ql-indent'){
   item.value === '+1' ? item.title ='向右缩进': item.title ='向左缩进';
  }else if(item.className === 'ql-list'){
	 item.value==='ordered' ? item.title='有序列表' : item.title='无序列表'
	}else if(item.className === 'ql-header'){
	 item.value === '1' ? item.title = '标题H1': item.title = '标题H2';
	}else{
   item.title = titleConfig[item.classList[0]];
  }
 });
 aSelect.forEach((item)=>{
  if(item.className!='ql-color'&&item.className!='ql-background'){
   item.parentNode.title = titleConfig[item.classList[0]];
  }
 });
 aSpan.forEach((item)=>{
  if(item.classList[0]==='ql-color'){
   item.title = titleConfig[item.classList[0]];
  }else if(item.classList[0]==='ql-background'){
   item.title = titleConfig[item.classList[0]];
  }
 });
}

//how to use
//import { addQuillTitle } from './set-quill-title.js'
//addQuillTitle();   --use in mouted
//自定义 set title

以上这篇Vue 实现对quill-editor组件中的工具栏添加title就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE和firefox浏览器的event事件兼容性汇总
Dec 06 Javascript
可自己添加html的伪弹出框实现代码
Sep 08 Javascript
vue中component组件的props使用详解
Sep 04 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
Apr 09 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
Aug 07 Javascript
Angular8基础应用之表单及其验证
Aug 11 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
Oct 30 Javascript
vue项目引入ts步骤(小结)
Oct 31 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
Nov 01 jQuery
基于Vue中的父子传值问题解决
Jul 27 Javascript
Vue中computed和watch有哪些区别
Dec 19 Vue.js
JavaScript声明变量和数据类型的转换
Apr 12 Javascript
简单了解three.js 着色器材质
Aug 03 #Javascript
Element InputNumber 计数器的实现示例
Aug 03 #Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
Aug 03 #Javascript
Vue 根据条件判断van-tab的显示方式
Aug 03 #Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
Aug 03 #Javascript
Vue解决echart在element的tab切换时显示不正确问题
Aug 03 #Javascript
js实现点击上传图片并设为模糊背景
Aug 02 #Javascript
You might like
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
PHP 登录完成后如何跳转上一访问页面
2014/01/14 PHP
symfony2.4的twig中date用法分析
2016/03/18 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
2013/04/09 Javascript
理解javascript中的回调函数(callback)
2014/09/02 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
iframe高度自适应及隐藏滚动条的实例详解
2017/09/29 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
详解原生JS动态添加和删除类
2019/03/26 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
python-numpy-指数分布实例详解
2019/12/07 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
python 6行代码制作月历生成器
2020/09/18 Python
乔丹诺(Giordano)酒庄德国官网:找到最好的意大利葡萄酒
2017/12/28 全球购物
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
面料业务员岗位职责
2013/12/26 职场文书
开学典礼感言
2014/02/16 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
失职检讨书大全
2015/01/26 职场文书
《藏戏》教学反思
2016/02/23 职场文书
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers