Javascript高级编程学习笔记(82)—— 富文本操作(2)
操作富文本
与富文本编辑器的交互的主要方式就是使用 document.execCommand() 方法
该方法可以对文档执行自定义命令,并且可以应用大多数格式
该方法接收三个参数:
- 要执行命令的名称
- 浏览器是否应该为当前页面提供用户界面
- 执行命令的值
为了保证跨浏览器的兼容性,最好保证第二个参数为 false,因为Firefox会在该参数为 true 时报错
| 命令 | 值(第三个参数) | 说明 |
| backcolor | 颜色字符串 | 设置文档的背景颜色 |
| bold | null | 将选中的文本转为粗体显示 |
| copy | null | 将选择文本复制到剪切板 |
| createlink | URL字符串 | 将选中的文本转换为一个链接,指向目标URL |
| cut | null | 将选中文本剪切到剪切板 |
| delete | null | 删除选择的文本 |
| fontname | 字体名称 | 将选中文本修改为指定字体 |
| fontsize | 1~7 | 将选中文本修改为指定大小 |
| forecolor | 颜色字符串 | 将文本修改为指定颜色 |
| fomatblock | HTML标签 | 使用指定标签包裹选中文本 |
| indent | null | 缩进文本 |
| inserthorizontalrule | null | 在光标处插入<hr>元素 |
| insertimage | 图像URL | 在光标出插入一张图片 |
| insertorderedlist | null | 在光标处插入<ol>元素 |
| insertunorderedlist | null | 在光标处插入<ul>元素 |
| insertparagraph | null | 在光标处插入<p>元素 |
| italic | null | 将选中文本转为斜体 |
| justifycenter | null | 将文本居中对齐 |
| justifyleft | null | 将文本居左对齐 |
| outdent | null | 凸排文本 |
| paste | null | 将剪切板中的文本粘贴到指定位置 |
| removeformat | null | 撤销formatblock |
| selectall | null | 选择文档中的所有文本 |
| underline | null | 为选中文本添加下划线 |
| unlink | null | 移除文本链接 |
上述命令中,与剪切板有关的命令在不同浏览器中的实现差异极大
此外虽然所有浏览器都支持这些命令,但是这些命令产生的HTML差距极大
除了这些命令之外.还有一些与这些命令相关的方法:
- queryCommandEnabled() 用于检测是否可以针对当前位置或者选中的文本执行某个命令,接收一个参数即要检测的命令
- queryCommandState() 用于判断是否已经将命令应用到指定文本
- queryCommandValue() 用于获取执行命令时传入的第三个参数
Javascript高级编程学习笔记(82)—— 富文本操作(2)的更多相关文章
- Javascript高级编程学习笔记(83)—— 富文本选区(3)
富文本选区 在富文本编辑器中使用 iframe 的 getSelection() 方法可以获取选中的文本 该方法是 window 对象和 document 对象的属性,调用后会返回一个当前选选择文本的 ...
- Javascript高级编程学习笔记(81)—— 富文本(1)
富文本编辑 富文本编辑又称为: WYSIWYG(What You See Is What You Get,所见即所得) 常用于博客等用途,虽然没有规范,但是在IE最先引入后其他的浏览器厂商也相继完成了 ...
- Javascript高级编程学习笔记(88)—— Canvas(5)绘制文本
绘制文本 同样的,canvas也为绘制文本提供了相应的方法. 2D上下文提供的文本绘制方法主要有两个: fillText() strokeText() 这两个方法都接受四个参数 要绘制的文本字符串 绘 ...
- Javascript高级编程学习笔记(76)—— 表单(4)选择文本
文本框脚本 在HTML中文本框有两种实现方式: <input> <textarea> 这两种实现方式虽然在多数情况下表现一致,但是两者之间仍存在许多重要区别 对于<inp ...
- Javascript高级编程学习笔记(64)—— 事件(8)键盘与文本事件
键盘与文本事件 用户在使用键盘时会触发键盘事件 “DOM2级事件”最初规定了键盘事件,但是最后在定稿时又删除了相应内容 所以键盘事件被放入了DOM3级事件的规范中 总的来说有三个键盘事件: keydo ...
- Javascript高级编程学习笔记(53)—— DOM2和DOM3(5)遍历
遍历 “DOM2级遍历和范围” 定义了两个用于辅助完成顺序遍历的DOM结构类型 NodeIterator 和 TreeWalk 上述两种类型可以基于给定起点的DOM结构执行深度优先的遍历操作 对于检测 ...
- Javascript高级编程学习笔记(37)—— DOM(3)Element
Element类型 除了Document类型之外,Element类型应该就是web编程中最常用的类型了 Element类型主要用于表现XML.HTML元素,提供对元素标签名.子节点以及特性的访问 特性 ...
- Javascript高级编程学习笔记(35)—— DOM(1)节点
DOM JS由三部分组成 1.BOM 2.DOM 3.ECMAScript ES和BOM在前面的文章已经介绍过了 今天开始JS组成的最后一部分DOM(文档对象模型) 我们知道,JS中的这三个部分实际上 ...
- Javascript高级编程学习笔记(15)—— 引用类型(4)RegExp类型
JS中处理字符串最常用的应该就是正则了 同样正则(RegExp)类型也是JS中引用类型的一种 ECMAScript通过 RegExp类型 来支持正则表达式 创建正则 var expression = ...
随机推荐
- BundleConfig某js文件 全部打包
var server = HttpContext.Current.Server; var jsFiles = System.IO.Directory.GetFiles(server.MapPath(& ...
- 20164319 刘蕴哲 Exp3 免杀原理与实践
[实验内容] 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程( ...
- Redis:MySQL算老几?
原创: 码农翻身刘欣 前言:上一篇<MySQL:缓存算什么东西?>里挖了一个坑,也有很多人说没看过瘾,今天接着写,把坑填上,不过得把视角换一下,让Redis上台发言. 我知道MySQL看我 ...
- python 杨辉三角实现逻辑
程序输出需要实现如下效果: [1] [1,1] [1,2,1] [1,3,3,1] ...... 方法:迭代,生成器 def triangles() L = [1] while True: yiled ...
- Angular中不同的组件间传值与通信的方法
主要分为父子组件和非父子组件部分. 父子组件间参数与通讯方法 使用事件通信(EventEmitter,@Output): 场景:可以在父子组件之间进行通信,一般使用在子组件传递消息给父组件: 步骤: ...
- Yii2.0 解决“the requested URL was not found on this server”问题
在你下了 Yii 框架,配置完路由 urlManager 后,路由访问页面会报错“the requested URL was not found on this server”,url类似于这种“ht ...
- 512MB内存VPS服务器安装宝塔WEB客户端建站 - 环境部署篇
原本以为我们很多网友用VPS搭建网站不会用WEB面板,而采用一键包或者自己部署编译环境,但是最后发现其实目前我们使用WEB面板的还是挺多的,无论是免费还是付费的都有不少人使用.比如当初一直免费的AMH ...
- 部落划分Group[JSOI2010]
--BZOJ1821 Description 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生 ...
- 在MSYS2环境下 用msvc 编译 zlib
自己参考用. 在 vs2017 x64 native tools command prompt 下用 msys2_shell.cmd -use-full-path 打开 MSYS2窗口. 新建bui ...
- python编程之如何在Windows上安装python
一.安装python 首先检查你的系统里是否安装了python,开始菜单里点击运行输入cmd打开一个命令窗口,或键盘快捷键windows+R打开,在窗口中输入python并回车,如果出现了Python ...