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

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

) 当前需求拆解 按住shift + @ 时候,弹出通知列表 选择时 @用户标签插入当前光标位置 生成@用户标签规则是:高亮、携带用户ID、一键删除信息、不可以编辑。...、可以做为编辑器使用,由于时间原因并没有深入体会、感兴趣小伙伴可以看一下以下内容 contenteditable-MDN contenteditable实现编辑器,光标、输入法处理 基于contenteditable...$refs.editor)“ 使用ref方式而不是ID方式呢? 使用ref好处是具有良好重用性和范围。因为ref只留在这个组件,所以当您操作这个ref时,它不会干扰其他组件。...获取光标的坐标文本位置 caret-pos 从 textarea、contentedtiable 或 iframe 正文中获取插入符号/光标的位置/偏移量 import { position, offset...这个功能只是开发挤出来、很多东西写不够好、不够完善,希望本文能帮助您在开发节约一点时间。也欢迎大家提出踊跃反馈、希望能与大家共进步,加油~

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

前端富文本基础及实现

前端富文本基础及实现 https://www.zoo.team/article/rich-text 前言 日常生活我们会经常接触到各种各样文档格式和形式,其中富文本文档格式扮演了重要角色。...空白 HTML 文档嵌入一个 iframe,并将 designMode 属性设置为 on,文档就会变成可编辑,实际编辑则是 iframe 内 body 元素。...选中文本改为指定字体大小 提供 HTML 字体尺寸 (1-7) foreColor 选中文本改为指定颜色 颜色值字符串 formatBlock 选中文本包含在指定 HTML标签 提供 HTML...标签,如 insertImage 光标位置插入图片 图片 URL 链接 insertParagraph 光标位置插入元素 null italic 切换选中文本斜体样式 null styleWithCSS...这些内容汇总即可实现一个简单前端富文本编辑器。 下方附上本文内容汇总代码 demo ,内含基于 iframe 和 div 元素分别实现富文本编辑器,功能简单,供读者参考。

4.2K50

【富文本】268- 富文本原理了解一下?

div 我们就可以对其进行任意编辑了。... 这是不可编辑 该属性最早是 IE 上实现(厉害哦?)...这个知识点是很重要,因为它让我们有了操纵光标的能力(比如插入内容之后设置光标的位置),不过这篇文章我并没有去深入它,只是浅出?。 目标 开篇一顿扯,下面让我们抓紧时间做一个属于自己富文本吧?...所以我们需要具有控制光标的能力,具体操作就是点击按钮之前我们可以先存储当前光标的状态,执行完命令或者需要时候后再还原或设置光标的状态即可。...另外一种方法就是插入图片之前先对图片进行处理(比如多一步类似裁剪功能)再上传,这样就可以不用在编辑区里面处理图片啦,嘿嘿,目前我就想到这两种方案了,实际工作采用是第二种方式,因为产品需求不止于旋转

1.9K40

sublime学习笔记

1 sublime几个优点 1.操作简单上手快 2.支持多点编辑:ctrl + 光标 3.基于Package Control强大包管理功能 4.闪电一样查找速度。...即使纯文本界面的 vim 都无法达到这样速度。 5.深度定制。所有的配置内容也都像 vim 一样以纯文本形式保存在一个类似于 .vim 目录之中。透明和分享带来好处无限。...6.快速打开文件:ctrl + p 7.命令行面板:ctrl + shift + p 8.启用vim模式 9.已经形成事实标准,很多其他编辑器中都可以使用类似的快捷键。...存放到 User 文件夹下内容会覆盖 Settings Default 内容。...,自定义,application是浏览器电脑上目录地址,保存即可通过快捷键进行预览html

98260

【Web技术】421- 富文本原理介绍

div 我们就可以对其进行任意编辑了。... 这是不可编辑 该属性最早是 IE 上实现(厉害哦?)...这个知识点是很重要,因为它让我们有了操纵光标的能力(比如插入内容之后设置光标的位置),不过这篇文章我并没有去深入它,只是浅出?。 目标 开篇一顿扯,下面让我们抓紧时间做一个属于自己富文本吧?...所以我们需要具有控制光标的能力,具体操作就是点击按钮之前我们可以先存储当前光标的状态,执行完命令或者需要时候后再还原或设置光标的状态即可。...另外一种方法就是插入图片之前先对图片进行处理(比如多一步类似裁剪功能)再上传,这样就可以不用在编辑区里面处理图片啦,嘿嘿,目前我就想到这两种方案了,实际工作采用是第二种方式,因为产品需求不止于旋转

98820

161. 精读《可视化搭建思考 - 富文本搭建》

那么积木式搭建和富文本搭建存在哪些差异,除了富文本更倾向于记录静态内容外,还有哪些差异,两者是否可以结合?本文围绕这两点进行讨论。...但用组件代替 js 就有点奇怪了,首先并不是所有 js 逻辑都沉淀组件里,一定有组件间联动逻辑是无法通过一个组件 js 完成,另一方面如果 js 逻辑寄托组件代码里,本质上是没有提效,用源码开发项目与开发搭建平台组件都是...有了光标后,圈选也非常重要,因为大家编辑文字时有一种很自然想法是,任何文字圈选后复制,可以粘贴到任何地方,那么所有插入到富文本自定义组件也要支持被圈选,被复制。...,可以富文本组件拉到最大,整个页面都基于富文本模式去搭建,这就变成了富文本搭建,也可以富文本缩小,普通控件以积木方式拖拽到画布,走积木式搭建路线。.../div> 只要拖拽 bar-chart、div 两个组件即可,div 内部文字通过光标输入,line-chart 通过富文本某个按钮或者键盘快捷键添加。

1.1K10

HBuilder扩展代码块功能

为了解决这个问题,我希望实现是直接将对应模块提前在编辑编辑好,然后用一两个字母提示就能将这个模块调用。...(说到这里我不得不吐槽一下他智能提示,真心做很差,同类软件我可以说他只能提示是最差,没有之一。连常用词汇排在第一个这么简单功能都没做,真心无语。)...cmd.expansion = " $0 " #expansion是代码块输出内容,其中$0、...#输出双引号在前面加\来转义,输出$使用\$(单引号)或\\$(双引号)转义 cmd.needApplyReContentAssist = true #这句话意思是输出后同时激活代码助手...expansion是代码块输出内容,其中0、1是光标的停留和切换位置。1是第一个停留光标,0是最后回车时停留光标。 ?

3.4K10

初探富文本之富文本概述

虽然仅仅是浏览器实现富文本编辑能力,但是这也并不是一件容易事情。...演进之路 Web富文本编辑器也是不断演进,整个发展过程,也是遇到了不少困难,而正是因为这些问题,可以发展历程分为L0、L1、L2三个阶段发展历程。...如果有用过CodeMirror5用户可能会注意到,默认配置下CodeMirror,除了排版能力不是完全自行实现,其他方面都有自己一套实现方案,例如光标是通过div来模拟定位、输入是通过一个跟随光标移动...现在主流L2富文本编辑器都是借助于Canvas来绘制所有的内容,而因为Canvas只是一个画板,所以无论是排版还是选区、光标等等都需要自行计算与实现。...记录数据操作类似于保存快照,当用户进行操作时候,无论发生任何操作,都将整篇内容进行保存,并维护一个线性栈。当进行Undo/Redo操作时候,即将要恢复内容完全呈现出来。

1.7K10

vue2

-- 我们在这里引入vue而不是选择head标签引入vue是因为代码 加载顺序,如果将其放在head内则会先加载vue,如果在网速较慢时页面的加载速度很慢,如果 将其放在下面,就会先加载body内内容...no-drop带有一个被斜线贯穿圆圈手形光标。用于标示被拖起对象不允许光标的当前位置被放下。 not-allowed禁止标记(一个被斜线贯穿圆圈)光标。用于标示请求操作不允许被执行。...pointer(hand)竖起一只手指手形光标。就像通常用户光标移到超链接上时那样。 progress带有沙漏标记箭头光标。用于标示一个进程正在后台运行。...row-resize有上下两个箭头,中间由横线分隔开光标。用于标示项目或标题栏可以被垂直改变尺寸。 text用于标示可编辑水平文本光标。通常是大写字母 I 形状。...vertical-text用于标示可编辑垂直文本光标。通常是大写字母 I 旋转90度形状。 wait用于标示程序忙用户需要等待光标。通常是沙漏或手表形状。

5.4K20

HBuilderX - 高效极客技巧

具体见HBuilder选择菜单。 2. 按Ctrl+]包围,就可以在这个选区首尾加父标签,同时闪烁光标。当前js里按下Ctrl+]不会包围tag,而是包围if、for等函数库。 3....很多工具快捷键都是控制键+功能英文单词一个字母,这个是极难记忆。 符号化让快捷键记忆变简单,比如Ctrl+]是包围。...然后就可以方便div改名为p 选择一个括号时,也可以使用选中相同语法词,来选中对应另一个括号 交换选区内容 当需要交互2个选区内容时,选中a、剪切、点b前面、粘贴、选中b...如果不选择内容光标放置到2行,可直接交换这2行内容,如下图 撤销最后一个多选区或多光标 选区选多了或选错了,不用担心要重头选,Ctrl+Shift+z不是撤销编辑内容,而是撤销最后一个选区...按Ctrl+\选区首尾加光标,变成多光标模式 3. 按Ctrl+/注释掉选区首尾行 帮助开发者成为极客,一直是HBuilder理念。HBuilderX更上一层楼。

91320

CodeMirror 基础配置指南

,耽误时间,而如果可以在线编辑内容问题文件的话,就可以省去很多步骤,直接在线修改并保存文件就可以了,是不是很方便,于是就产生了在线编辑需求。...//editor.getTextArea().value; //如果是通过 JS 进行表单提交,可以提交 JS 代码这样使用: // Codemirror 内容赋值给 Textarea...在线编辑内容保存 最后在说一下在线编辑内容保存,保存操作这里主要分为两步,首先获取页面提交字符串内容,然后写入本地临时文件,再将临时文件上传到腾讯云即可,在线编辑上传内容方法如下,但是这里方法主要是在线编辑相关业务代码...,涉及到业务相关代码已经删除,方便大家理解单纯在线编辑内容上传 /** * 保存在线编辑内容 * * @param request * @return...",e); }finally { //由于此处文件内容写在临时文件,所以使用完之后需要删除下载临时文件 if (com.ruoyi.common.utils.StringUtils.isNotEmpty

17410

从 0 到 1 开发一个聊天通讯 服务 复盘总结

编辑属性 ,那么就获取到 可编辑属性光标位置 然后通过光标位置 动态来改变 弹出框联系人列表样式 top left , 实现跟着光标的 位置显示联系人列表。...「删除选中联系人」 由于这块是采用编辑属性, 我们可以获取选中的人,但「无法直接判断是删除哪个人」,这时,只能通过判断 innerHTML 是否包含某联系人,来进行删除已保存联系人。...可编辑区域」 我们给 div 加上 该属性 contenteditable 就可以控制 div 输入哪些内容,外部复制过来内容也可以直接显示,还可以显示其带css 效果。...由于 WebSoket 贯穿整个项目,而且需要实时推送 @ , 我们 Websoket 尽量放在全局入口,接收信息onmessage 事件也放在 入口文件,这样全局都能接收到数据,接收到数据...聊天组件中使用 Websoket 聊天组件,其实使用就是 发送功能 和 获取 历史记录 功能,还有就是根据 推送消息内容字段来决定页面数据如何显示。

80630

Ace在线代码编辑器使用「建议收藏」

可以获取到编辑全部数据 editor.getSession().getValue() 如果编辑器内有部分数据被选中,则可以通过getSelectionRange来获取选中部分内容 editor.session.getTextRange...editor.getSession().setValue("ops-coffee.cn") 当你想往编辑器插入数据时,可以通过insert光标处插入数据 editor.insert('ops-coffee.cn...还是replaceAll都需要配合find一起使用 4、监听变化 ace另一个强大地方是实现了对编辑监听,除了可以监听内容变化外,还能监听选中内容变化,甚至是光标的变化 通过change可以监听到编辑内容变化...') }); 替换textarea htmltextarea比较鸡肋,连最基本换行都无法实现,所以我通常都会用ace来代替form表单textarea,但默认情况下submit无法自动获取pre...一种简单方式就是textarea隐藏,同时创建一个ace编辑器来取代他,然后检测编辑器内数据变化自动给填充到textarea内,完整例子就像下边这样 <form class="form-horizontal

4.1K60

移动商城第二篇(品牌管理模块)【文件上传、数据校验、CRUD】

这里写图片描述 上传图片 服务端console对图片进行上传到我们图片服务器上,而portal则访问时候从图片服务器拿到图片… 这里写图片描述 在前面,我们已经搭建了图片服务器了,那我们怎么console...,需要我们进行校验 这里写图片描述 而校验我们有两种方式: 前台使用JS校验 后台再进行校验 我们是这样做输入框自定义了几个属性:reg2表示一定要校验,reg1表示校验可不校验。...,我们应该在光标焦点离开时候就进行一次校验!...当上传成功以后,图片显示出来(图片服务器路径+相对路径),当然了,也要通过隐藏域把图片相对路径提交给Controller做保存 前台做验证时候,我们可以自定义不同规则(填、必填)来做校验。...图片服务器路径我们可以自定义总配置文件,需要用时候直接使用EL表达式来获取就行了。

1.5K100

sublimeText3之码上有爱

,效果和shift+向下箭头效果一样 Ctrl+shift+L:先选中多行,在按下快捷键,会在每行行尾插入光标,即可同时编辑这行 Ctrl+Shift+M 选择括号内内容(继续选择父括号)。...举个栗子:快速选中删除函数代码,重写函数体代码或重写括号内里内容 Ctrl+M 光标移动至括号内结束或开始位置 Ctrl+Enter 在下一行插入新行。...+Shift+↓ 光标所在行和下一行代码互换(光标所在行插入到下一行之后) Ctrl+Alt+↑ 或 Ctrl+Alt+鼠标向上拖动 向上添加多行光标同时编辑多行 Ctrl+Alt+↓或 Ctrl...+Alt+鼠标向下拖动 向下添加多行光标同时编辑多行 多重选择 多重选择功能允许页面同时存在多个光标,让很多本来需要正则表达式,高级搜索和替换才能完成任务也变得游刃有余了 激活多重选择方法有两及种...编辑类 Ctrl+J:合并选中多行代码为一行:多行格式css属性合并为一行 ctrl+shift+D:复制光标所在整行,插入到下一行 Tab 向右缩进。

1.3K30

打字机效果实现与应用

前言 web 应用,模拟编辑器或者模拟输入框中文字啪啦啪啦输入效果,往往能够吸引人们眼球,让用户注意力聚焦输入内容上,其实使用是 web 动画模拟打字机效果,本文和大家探讨打字机效果实现方式以及应用...初始文字是全部页面上,只是容器宽度为 0,设置文字超出部分隐藏,然后不断改变容器宽度; 设置 border-right,并在关键帧上改变 border-color 为 transparent,右边框就像闪烁光标了...,只需把要展示文本进行切割,使用定时器不断向 DOM 元素里追加文字即可,同时使用::after 伪元素 DOM 元素后面产生光标闪烁效果。...页面上输入值,设置到 state ,然后再使用 vue watch,监听输入值变化, markdown 解析成 HTML 插入到页面。...以上就是本文全部内容,希望这篇文章对大家有所帮助,也可以参考我往期文章或者评论区交流你想法和心得,欢迎一起探索前端。

2.5K20

小程序textarea与弹窗

本文作者:IMWeb howenhuo 原文出处:IMWeb社区 未经同意,禁止转载 前言 小程序 textarea 组件上展示一个模态弹窗组件,会发现 textarea 输入文字内容,会直接穿透模态弹窗显示最上面...限制 小程序 textarea 是由客户端创建原生组件,由于原生组件脱离 WebView 渲染流程外,因此使用时有以下限制: 原生组件层级是最高,所以页面其他组件无论设置 z-index...所以如果弹窗要显示 input、radio、checkbox 等组件的话,该方案无法实现,但对于只是展示文本、按钮和图片的话,还是可以满足。...'placeholder' : ''; // 换行符转换为wxml识别的换行元素 let shadowText = text === '' ?...可是,该方案有个比较难解决问题就是,进入编辑状态时光标无法定位到用户点击位置(一般自动聚焦到末尾),需要用户二次点击定位。

1.9K10
领券