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 相关文章推荐
javascript 一些用法小结
Sep 11 Javascript
js输出列表实现代码
Sep 12 Javascript
AJAX分页的代码(后台asp.net)
Feb 14 Javascript
文本框回车提交与禁止提交示例
Sep 27 Javascript
IE下双击checkbox反应延迟问题的解决方法
Mar 27 Javascript
node.js中的path.sep方法使用说明
Dec 08 Javascript
javascript实现dom元素可拖动
Mar 21 Javascript
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
Apr 13 Javascript
微信小程序中悬浮窗功能的实现代码
Aug 02 Javascript
基于Node的Axure文件在线预览的实现代码
Aug 28 Javascript
vue实现Input输入框模糊查询方法
Jan 29 Javascript
javascript 设计模式之享元模式原理与应用详解
Apr 08 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
file_get_contents(&quot;php://input&quot;, &quot;r&quot;)实例介绍
2013/07/01 PHP
php删除文本文件中重复行的方法
2015/04/28 PHP
PHP使用flock实现文件加锁的方法
2015/07/01 PHP
php获取汉字拼音首字母的方法
2015/10/21 PHP
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
input输入框的自动匹配(原生代码)
2013/03/19 Javascript
利用Node.JS实现邮件发送功能
2016/10/21 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
2016/11/23 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
三种Webpack打包方式(小结)
2018/09/19 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
JavaScript禁用右键单击优缺点分析
2019/01/20 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
python实现得到一个给定类的虚函数
2014/09/28 Python
Python中使用partial改变方法默认参数实例
2015/04/28 Python
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
Python格式化输出%s和%d
2018/05/07 Python
python pandas 如何替换某列的一个值
2018/06/09 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
python之列表推导式的用法
2019/11/29 Python
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
linux面试题参考答案(5)
2016/11/05 面试题
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
大学生旷课检讨书
2014/01/22 职场文书
道路交通事故人身损害赔偿协议书
2014/11/19 职场文书
2014年党委工作总结
2014/11/22 职场文书
年终工作总结范文
2019/06/20 职场文书
2019年共青团工作条例最新版
2019/11/12 职场文书
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2021/11/17 Redis
《金肉人》米特&《航海王》阿鹤声优松岛实因胰脏癌去世 享寿81岁
2022/04/13 日漫
Oracle中日期的使用方法实例
2022/07/07 Oracle