首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端富文本基础及实现

空白 HTML 文档嵌入一个 iframe,并将 designMode 属性设置为 on,文档就会变成可编辑,实际编辑则是 iframe 内 body 元素。...Selection 对象表示用户选择文本范围或插入符号的当前位置。它代表页面文本选区,可能横跨多个元素。文本选区由用户拖拽鼠标经过文字而产生。...想删除插入,可获取新 Selection 对象,利用此时位置所在 dom 元素方法插入对应文字、元素。...标签, insertImage 光标位置插入图片 图片 URL 链接 insertParagraph 光标位置插入元素 null italic 切换选中文本斜体样式 null styleWithCSS...编辑区域可通过获取编辑元素 innerHTML 拿到对应富文本数据,存入数据库。 网络请求富文本数据设置为富文本容器 innerHTML,即可展示富文本内容

4.2K50

【实战】我是如何在输入框实现@ At功能

) 当前需求拆解 按住shift + @ 时候,弹出通知列表 选择时 @用户标签插入当前光标位置 生成@用户标签规则是:高亮、携带用户ID、一键删除信息、不可以编辑。...// 需要在字符前插入一个空格否则、换行与两个@标签连续时候导致无法删除标签 let spanNode = document.createElement('span'); spanNode.innerHTML...contents.length) { const index = contents.length - 1 // 文本拆入换行符号兼容...获取光标的坐标文本位置 caret-pos 从 textarea、contentedtiable 或 iframe 正文中获取插入符号/光标的位置/偏移量 import { position, offset...这个功能只是开发挤出来、很多东西写不够好、不够完善,希望本文能帮助您在开发节约一点时间。也欢迎大家提出踊跃反馈、希望能与大家共进步,加油~

2.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

Web APIs第三天

追加节点 要想在界面看到, 还得插入到某个父元素 1....,生成渲染树(Render Tree) 进行布局 Layout(回流/重排):根据生成渲染树,得到节点几何信息(位置,大小) 进行绘制 Painting(重绘): 根据计算和获取信息进行整个页面的绘制...重绘和回流(重排) 会导致回流操作: 页面的首次刷新 浏览器窗口大小发生改变 元素大小或位置发生改变 改变字体大小 内容变化(:input框输入,图片大小) 激活css伪类(::hover...发布内容不能为空 // 点击button判断 内容为空 则提示不能输入为空 并直接return 不能为空 // 使用字符串.trim()去掉首尾空格 // 并将表单value值设置为空字符串 同时字数设置为...重置表单域内容为空 text.value = '' useCount.innerHTML = 0 }) ---- 本节单词: parentNode children nextElementSibling

56650

技术|必知必会 Vim 编辑器基础命令

你可以文件中移动并且修改内容,剪切、复制和粘贴文件一部分,同时发出命令执行更多操作(按ESC键进入命令模式) 插入模式:插入模式用于在给定文档位置插入文本(按i键进入插入模式) 我如何知道我正使用哪种...i–光标之前插入a–光标之后插入I–光标所在行开头插入。当光标位于行中间时,这个键很有用A–光标所在行末尾插入。...o–光标所在行下面插入新行O–光标所在行上面插入新行ea–单词末尾插入拷贝、粘贴和删除一行yy–复制一行p/P–将内容粘贴到光标之后/之前dd–删除一行dw–删除一个单词Vim搜索和替换匹配模式...:%s/旧模式/新模式/gc–逐个询问是否文件旧模式替换为新模式如何在Vim编辑跳转到特定行你可以根据需求以两种方式达到该目的,如果你不知道行号,建议采用第一种方法。...通过打开文件并运行下面的命令来显示行号 :setnumber当你设置好显示行号,按:n跳转到相应行号。

1.3K40

vim快捷键大全

nJ:连接后面的n行 u:撤销上一次操作 U:撤销当前行所有修改 ctrl+r:对撤消撤消 i 光标前插入 I 在行首插入 a 光标插入 A 在行末插入 o:在当前行下面另起一行...:放弃更改,然后相当于重新打开 :help:帮助,可用ZZ退出帮助窗口 vimNyy可以复制光标N行。有时我们不容易得出行数,这时可以用做标记方法来制定复制范围:   1....重复执行命令 :10,$ w test2.cpp 取行10到最后一行内容,保存到test2.cpp :r class/User.hpp 读取文件内容插入到当前行后面 dw:删除一个单词...粘贴最后第二次删除内容 yy:复制一行  yaw: 复制一个单词,光标单词任意位置 ynw: 复制N个单词 ynj: 向下复制n行 ynk: 向上复制...-:到上一行第一个字符。 n|:移动到当前行第n列 e:移到单词结尾 E:移到单词结尾(忽略标点符号) ( ) { } [[ ]] 这几个对编程作用不大,忽略。

2K40

【总结】vim命令使用总结,该来还是躲不掉啊晕

普通模式下,从键盘输入任何字符都被当作命令来解释。普通模式下没有任何提示符,输入命令立即执行,不需要回车,而且输入字符不会在屏幕上显示出来。 编辑模式 编辑模式主要用于文本编辑。...- 移动到上个单词开头(单词含标点) ge - 移动到上个单词结尾 gE - 移动到上个单词结尾(单词含标点) % - 跳转到配对符号(默认支持配对符号组:: '()', '{}', '[]' -...控制 Ctrl + n - 插入模式下,光标之前插入自动补全下一个匹配项 Ctrl + p - 插入模式下,光标之前插入自动补全上一个匹配项 Ctrl + rx - 插入寄存器 x 内容...yiw - 复制光标处单词 yaw - 复制光标处单词及其前后空格 y$ or Y - 复制, 从光标位置到行末 p - 光标粘贴 P - 光标前粘贴 gp - 光标粘贴并把光标定位于粘贴文本之后... . - 上次插入文本  - - 上次剪切短于一行文本  = - 表达式寄存器  _ - 黑洞寄存器 标记 :marks - 标记列表 ma - 设置当前位置为标记 a `a - 跳转到标记

49021

linux之文本编辑

通过设置,vim会自动检测文件内容类型,并以不同颜色进行高亮显示,注释变成蓝色,关键字变成褐色,而字符串变成红色等,与vi传统黑白显示模式相比,vim更易读易用。...4.2.3 打开文件、保存文件和退出 vi 编辑器 存盘和退出、设置行号操作等功能,输入“:”进入底线模式。 屏幕最下面一行将出现一个“:”符号。...(最常用) a:在当前光标所在一个位置插入,开始输入字符(最常用) o:在当前光标所在行下面新创建一行,并在行第一个位置开始输入字符。(最常用) 这并不是全部进入方法,但却是最常用。...:3x,删除光标所在位置3个字符 dw (常用) 从光标所在位置开始,向右删除单词。...下面内容符号“>”为键盘上大于号,“<”为键盘上小于号。

2.2K20

C1能力认证训练题解析 _ 第四部分 _ Web进阶「建议收藏」

(2)ul最后一个li元素添加一个新li元素,li元素文字内容为input元素输入值,请补全横线处代码(依次填写答案,使用中文逗号「,」隔开) <input type="text...节点写入常用方式: 名称 描述 <em>innerHTML</em> 返回元素<em>中</em><em>的</em>html<em>内容</em>,通过赋值,可<em>设置</em>元素<em>中</em><em>的</em>html<em>内容</em> innerText 返回元素<em>中</em><em>的</em>文本<em>内容</em>,通过赋值,可<em>设置</em>元素<em>中</em><em>的</em>文本<em>内容</em> document.write...() 将html字符串写入到文档<em>中</em> (1)<em>在</em><em>div</em><em>中</em><em>插入</em>文字<em>内容</em>为“加油,我要通过C认证”<em>的</em>p元素,请补全横线处代码。.../script> 答案:<em>innerHTML</em> 此处需要<em>插入</em>一个p元素,<em>插入</em><em>的</em>值为字符串,所以需要使用可以解析html字符串<em>的</em>DOM属性,返回元素<em>中</em><em>的</em>html<em>内容</em>。...(3)<em>在</em>第一行元素<em>后</em><em>插入</em>第二行元素,请补全横线处代码。

2K20

干货 | 前端模板引擎知多少

1 捕获特定语法 生成AST过程涉及到编译器原理,一般经过以下过程: 语法分析 语法分析任务是词法分析基础上将单词序列组合成各类语法短语,“程序”,“语句”,“表达式”等等。...例如我们可以将以下这样DOM进行捕获: 123 456789 捕获我们或许可以得到这样一个对象:...不是的,在这个过程我们可以实现一些功能: 1. 排除无效DOM元素,并在构建过程可进行报错。 2. 使用自定义组件时候,匹配出来。 3. 方便地实现数据绑定、事件绑定等功能。 4....AST生成模板 1 生成模板方法 我们捕获得到一个AST树结构,会将其生成对应DOM。...在这个过程,最突出也就是虚拟DOM,它解决了常见局部数据更新问题,例如数组中值位置调换、部分更新。一般来说计算过程如下: 1. 用JS对象模拟DOM树。

1.1K30

这可能是最全最实用Vim操作集合

全文搜索你输入关键字 # 斜杠 / 是正向往下搜索,? 是反向往上搜索你关键字 # 或者使用 shift+* 或者 shift+# 可以自动匹配光标处单词进行搜索 /想要搜索内容 ?...,对于我们常见正则比如: 特殊符号 描述 ^ 匹配输入字符串开始位置,除非在方括号表达式中使用,当该符号方括号表达式中使用时,表示不接受该方括号表达式字符集合。...这里 i 表示插入 去除注释: 按 ctrl + v 进入可视模式 将所有注释符号选中 按下 x 或 d 按键,则会取消所有选中行注释 5.3 多行末尾追加内容 比如我们敲代码过程中发现每一行末尾都少加了分号...(注意你当前终端里): exit 7.2 Vim 锁定 以前 Windows 系统时候,喜欢编辑按 Ctrl+s 来保存文档,这是个很好习惯,但是 Vim 却不是了,因为这个操作正常模式下会让你...7.4 编辑二进制文件 对于一些二进制文件, 比如网络传输我们要对接收到数据进行字节分析,又比如分析码流文件 h264 文件等,都需要查看二进制内容,vim 也提供二进制文件查看和编辑功能: #

2K20

40行代码内实现一个React.js

另外注意,本文所实现代码只用于说明教学展示,并不适用于生产环境。代码托管这个 仓库。心急同学可以先去看代码,但本文会从最基础内容开始解释。...3、实现复用性 所以现在我们来想办法解决这个问题,让这个点赞功能具有较好复用效果,那么你同事们就可以轻松自在地使用这个点赞功能。 3.1 结构复用 现在我们来重新编写这个点赞功能。...返回 DOM 元素之前会先给这个 DOM 元素上添加事件再返回。 因为现在 render 返回是 DOM 元素,所以不能用 innerHTML 暴力地插入 wrapper。...4.2 重新插入 DOM 元素 上面的改进不会有什么效果,因为你仔细看一下就会发现,其实重新渲染 DOM 元素并没有插入到页面当中。...div = document.createElement('div') div.innerHTML = domString return div } 6、总结 你到底能从文章获取到什么

2.4K30

javaScript 原生DOM节点操作(最实用dom节点操作大全)

textNode = document.createTextNode("hello"); 获取文本节点 var textNode = div.childNodes[0]; 删除起始位置开始num个值...textNode.deleteData(starNum,num); 尾部添加内容 textNode.appendData("后面哦"); 中间插入内容 te.insertData(1,"中间哦"); innerHTML...看出来了吧,innerHTML和innerText是有本质上区别的,innerHTML写入内容可以解析成标签,而innerText写入内容只能当作是文本浏览器显示。...简单讲,innerHTML可以某种特定环境下重构某个元素节点DOM结构,而innerText只能修改文本值 总结 原生DOM节点操作还是非常简单实用,除了单词长了一点以外好像也没有什么明显缺点...本文为作者原创,手码不易,允许转载,转载请以链接形式说明文章出处。

1.7K20

JS设置标签内容和样式

本文内容概要: 1 获取标签 2 设置样式 3 获取/设置标签内容 4 课程小结 5 课后练习 1 获取标签 讲解获取标签之前,我们需要来理解一个概念,什么是对象(Object)?...注意:元素.style.属性,“属性”只能接受把CSS属性(由一个以上单词组成,用“-”划线连接CSS属性)转成小驼峰命名形式,:font-size——>fontSize; 例如:eleObj.style.fontSize...当然可以,我们可以使用innerHTML属性实现修改或获取标签内容。...- 梦幻雪冰'; // 输出修改标签内容 console.log(desEle.innerHTML); // 利用innerHTML属性添加标签 introEle.innerHTML...代码分析: 获取到标签是对象,通过对象.属性形式来调用innerHTML属性,实现修改或获取标签内容innerHTML属性不仅仅可以添加文本内容,还可以添加HTML标签,:introEle.innerHTML

20.3K90

Linux:常用软件、工具和周边知识介绍

复制和粘贴: 使用 yw 复制光标所在位置单词末尾内容,yy 复制整行。 使用 p 粘贴已经复制或删除内容到光标位置。 替换: 使用 r 替换光标所在位置字符。...撤销和重做: 使用 u 撤销上一步操作,Ctrl + r 重做上一步操作撤销。 更改: 使用 cw 更改光标所在位置单词末尾内容,c#w 更改指定数量单词。...2.2.2插入模式(Insert mode) Vim 编辑插入模式(Insert Mode)是用于输入和编辑文本模式。...插入模式下,你可以直接在文本插入编辑和删除字符,就像在普通文本编辑器中一样。 插入模式下,你可以自由地编辑文本,直到按下 Esc 键退出插入模式,回到普通模式(Normal Mode)为止。...所谓头文件展开,本质是预处理时候,将头文件内容拷贝至源文件 预处理器处理文件通常具有更大体积,并且不包含注释和空行。

18210

http:blog.csdn.netu010105969articledetails53541088

js alert in js’}); AppModel是我们注入对象,“()”内容是我们传递给客户端数据。...新改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新界面设计 ,将会带来全新写作体验; 创作中心设置你喜爱代码高亮样式...1 功能; 增加了 多屏幕编辑 Markdown文章功能; 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间; 增加了 检查列表 功能。...+ F 替换:Ctrl/Command + G 合理创建标题,有助于目录生成 直接输入1次#,并按下space,将生成1级标题。...如何插入一段漂亮代码片 去博客设置页面,选择一款你喜欢代码片高亮样式,下面展示同样高亮 代码片. // An highlighted block var foo = 'bar'; 生成一个适合你列表

1.5K30

Markdown 语法笔记

链接第一部分格式 引用类型链接第一部分使用两组括号进行格式设置。第一组方括号包围应显示为链接文本。第二组括号显示了一个标签,该标签用于指向您存储文档其他位置链接。..., 然后方括号增加替代文本,图片链接放在圆括号里,括号里链接可以增加一个可选图片标题文本。 插入图片Markdown语法代码:![图片alt](图片链接 "图片title")。...使用图形界面构建表,然后将生成Markdown格式文本复制到文件。 对齐 您可以通过标题行连字符左侧,右侧或两侧添加冒号(:),将列文本对齐到左侧,右侧或中心。...当您创建脚注时,带有脚注上标数字会出现在您添加脚注参考位置。读者可以单击链接以跳至页面底部脚注内容。 要创建脚注参考,请在方括号([^1])内添加插入符号和标识符。...括号内使用另一个插入符号和数字添加脚注,并用冒号和文本([^1]: My footnote.)。您不必文档末尾添加脚注。您可以将它们放在除列表,块引号和表之类其他元素之外任何位置

4K10

公司新来一个同事,把 Typora 玩得炉火纯青!太强悍了

括起公式(注意 $$ 需要换行),公式会默认显示在行中间。...图片插入 插入图片除了使用插入语句外,还可以: ctrl+C/V 将网络图片、剪贴板图片复制到文档 拖动本地图片到文档 Typora 会自动帮你插入符合 Markdown 语法图片语句,并给它添加...你可以「文件 - 偏好设置 - 编辑器 - 默认换行符」对此进行切换。 支持emoji 表情 Typora ,你可以用 :emoji: 形式来打出 emoji,软件会自动给出图形提示。...②位置下载或更新,弹出界面中选择下载。...配置 gitee,并设置为默认图床: token放置上述过程生成序列号即可,重启 PicGO 软件(关闭重新打开)。

4.1K10

编辑器之神VIM

删除 命令 功能 X 删除光标所在位置字符 X 删除光标所在位置之前一个字符 D 从光标开始到行末全部删除 dw 删除光标一个单词 dd 删除光标所在一行 db 删除光标所在前一个单词 前面学了移动...vim 撤销 u 撤销刚才操作 , 可以连续使用 U 撤销一行所有操作 ctrl + r 取消撤销内容 对文件做了这么多操作,头晕了,不知道编辑是哪个文件了。...特殊符号 命令 功能 % 移动到配对符号当前光标 ( 键入 % 可以自动移动到配对 ) 同样适用于 [] 和 {} 这些功能在编程时候特别有用。 ....复制、剪切、粘贴 使用编辑时候最常用应该算复制 , 剪切和粘贴了 命令 功能 Y 复制 , yw 复制一个单词 yy 复制一行 P 粘贴 ( 光标 ) P 粘贴 ( 光标前 ) vi...first 切换到最前一个文件 :2next 切换到下二个文件 :args 可以显示多个编辑文件当前所编辑文件 :args 还有另外一个功能就是对打开多个文件进行重新排序,排列方法很简单 , 末行模式执行

53010

IDM UltraEdit Pro v26. 中文绿色便携版

通过修改你主题或者从头开始创建一个新主题,你可以更进一步,然后把它贡献给我们其他用户来享受。 2、多插入符号/多选 超级编辑功能最强大和直观插入符号编辑和多选功能在业务。...6、自定义用户界面 我们菜单系统从一开始就进行了重新构建,使其比以往任何时候都更具定制性。我们可根据您喜好定制新菜单。为自己设置丝带模式,以获得熟悉外观和感觉。...2、句法高亮显示可配置,为 C/C++, VB, HTML 和 Java预配置 3、特定列以硬回车自动换行,现有文档光标位置插入文件 4、可配置工具栏,分隔栏窗口、插入和叠印模式用于编辑。...6、查找和替换——按下 shift 键,允许选择插入符和查找目标之间文本,替换选定区域内所有内容。 7、文件内查找,文件内替换;自动行缩近。 8、制表符设置,支持自动换行。...10、原文件目录内自动备份生成文件,扩展名为(.BAK)。

1.7K21
领券