在光标位置插入笑脸

2023-12-06

我正在制作一个项目,用户可以单击表情符号并将它们插入到 contenteditable div 中。

  1. 我想要三个 div,无论我在什么 div 中,笑脸都应该插入该 div 中。
  2. 另外,这里的问题是表情符号只插入在 div 的末尾。我希望笑脸只应在光标所在的位置输入。

注意:请检查所有 div 中表情符号的大小是否应保持相同。

<div id="text_wrapper">
    <div id="text" contentEditable="true" hidefocus="true"></div>
</div>
<div id="text_wrapper">
   <div id="text1" contentEditable="true" hidefocus="true"></div>
</div>
<div id="text_wrapper">
   <div id="text2" contentEditable="true" hidefocus="true"></div>
</div>
<span id="button">Add Emoji</span>

$("#button").click(function() {
  $("#text").append('<img src="https://cdn.okccdn.com/media/img/emojis/apple/1F60C.png"/>');
});

Demo


第一:插入三个元素的右侧:

您正在使用表达式#text它指的是第一个可编辑的 div。

如果您想定位最后一个焦点的目标,您可以使用类来实现这一点。

为它们添加一个类,这样您就可以轻松地定位它们中的任何一个

<div id="text_wrapper">

    <div id="text" class="editable" contentEditable="true" hidefocus="true"></div>

</div>

<div id="text_wrapper">

   <div id="text1" class="editable" contentEditable="true" hidefocus="true"></div>

</div>

<div id="text_wrapper">

   <div id="text2" class="editable" contentEditable="true" hidefocus="true"></div>

</div>

<span id="button">Add Emoji</span>

然后您可以使用单个事件侦听器轻松决定焦点在哪里

$( document ).on( "click focusin" , ".editable" , function(){

    $( ".editable" ).removeClass( "focus" );
    $( this ).addClass( "focus" );

} );

从这一点开始,焦点项目(带有光标的项目)将具有“.focus”类。

现在,您可以使用

$( document ).on( "click" , "#button" , function() {

  $( ".editable.focus" ).append( '<img src="https://cdn.okccdn.com/media/img/emojis/apple/1F60C.png"/>' );

});

第二:在光标位置插入

这似乎有点复杂,但有一些非常干净的方法。看一眼这个话题.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在光标位置插入笑脸 的相关文章

  • Bing.com 如何创建放大的缩略图?

    当我使用 Bing com 搜索图像时 我发现它们的图像经过精心裁剪和排序 当您将鼠标放在图像上时 会弹出另一个窗口 其中显示放大的图像 我想在我的程序中做同样的事情 我检查了他们页面的源代码 他们正在使用 javascript 但我仍然不
  • 使用 jquery 和 php 测试表单输入是否为 1 或 2 位整数

    我有一个表单 其中有五个字段全部设置为 maxlength 2 基本上 我希望唯一可以输入的值是一位或两位整数 因为在将值存储在数据库中之前对这些字段执行计算 是否有任何 jquery 不允许用户输入不是整数的值 另外 用 jquery 和
  • jQuery Blur() 在 Chrome 上不起作用

    我在 MacOSX 上运行这个http jsfiddle net q84wv http jsfiddle net q84wv on Chrome最新版本 它不会工作 在 Firefox 上运行时它工作得很好 有什么线索吗 假设您想要aler
  • 使用 jQuery 仅从字符串末尾修剪空格

    我知道 jQuery trim 函数 但我需要的是一种仅从字符串末尾修剪空格的方法 而不是开头 So str this is a string 会成为 str this is a string 有什么建议么 Thanks 您可以使用正则表达
  • ReactJS:从没有 onChange 事件的 props 中选择默认值?

    所以 我只是想知道我是否绝对需要在 React 中的选择组件上有一个 onChange 事件处理程序 我有一个道具传递我想要选择的选项的默认值 如果我有的话 它就没有问题
  • setInterval 内的返回值

    我想在 setInterval 内返回一个值 我只想以一定的时间间隔执行一些操作 这就是我尝试过的 function git limit var i 0 var git setInterval function console log i
  • Web SQL 数据库 + Javascript 循环

    我正在尝试解决这个问题 但我自己似乎无法解决 我正在使用 Web SQL DB 但无法让循环正常使用它 I use for var i 0 i lt numberofArticles 1 i db transaction function
  • 元素中优先考虑 ngclick 而非 nghref

    tl dr 如何强制 Angular 只执行 ngclick 指令 a 元素而不清空 删除href 我的网站在某些元素上有一些自定义行为 模式打开 位置栏更新等 但对于 SEO 索引我also需要它成为一个 a 元素与href包含有效链接的
  • RTCDataChannel发送方法不发送数据

    我的 RTCDataChannel 遇到一个奇怪的问题 我正在对 WebRTC 进行一些研究 并且已经可以进行 WebRTC 音频 视频聊天 现在我想使用 RTCDataChannel 添加文本聊天和文件共享 我已经像这样创建了 RTCDa
  • Excel 类似 HTML 表格,可在 x 轴(完整表格)和 y 轴(标题固定)上滚动

    我想建立一个具有固定宽度列的表格 在大多数情况下 表数据会水平和垂直溢出 如果列的宽度大于视图宽度 则需要水平滚动条来滚动并查看所有表列 同时滚动标题和数据 如果数据的高度大于可用视图 则会出现垂直滚动框 但在滚动时保持标题固定 以便用户关
  • 如何在粘贴时获取文本区域输入字段的新值?

    我发现当我尝试从文本区域字段读取值时onpaste调用函数时 我得到字段的旧值 粘贴操作之前的值 而不是新值 粘贴操作之后的值 以下是此行为的演示 http jsfiddle net qsDnr http jsfiddle net qsDn
  • 在声明组件选择器时添加指令 - Angular 7

    我正在学习 Angular 并通过单击按钮动态创建组件 我正在尝试使用 Angular Material 的拖放功能来拖动这些创建的组件以对它们进行排序 我的基本组件 html 中有以下代码 div style margin 20px di
  • ThreeJS无法加载Json文件

    首先 我已经读过这个问题 https stackoverflow com questions 17201888 three js exporter export object not working with jsonloader r58没
  • 使用 jQuery Tablesorter 操作后如何恢复当前页面?

    我正在使用 tablesorter 但无法找到有关插件 tablesorter 寻呼机的任何文档 问题是我有一个显示一些数据的表 并且在每一行中都有一个删除链接 该链接附加了要删除的元素的唯一标识符 显然 是否可以保存我正在删除的页面 然后
  • 有没有办法防止输入 type=“number” 获得多个点值?

    我只想得到十进制值 如 1 5 0 56 等 但它允许多个点 有什么办法可以预防吗 您可以使用pattern属性
  • 通过 vh 和 vw 调整 css 字体大小

    所以我想根据容器的大小自动调整文本的大小 但是如果我使用类似的东西 font size 5vw 看起来不错 但是当我缩小页面时 高度开始变得太小 无论如何 我是否可以根据 vh 和 vw 调整文本大小 例如 如果我只是减小页面的宽度 那么高
  • 使用 React React-router 登录后重定向到主页,并且 usenavigate 不起作用?

    我希望用户在成功登录后重定向到主页 我将用户登录的 api 请求的数据存储在一个名为 currentUser 的变量中 因此如果 currentUser 为 true 它应该重定向到主页 这就是我处理登录请求的方式 export const
  • 在 Google Apps 脚本中的文本前插入换行符

    我需要在 Google 文档中的某些文本之前插入一些换行符 尝试过这种方法但出现错误 var body DocumentApp getActiveDocument getBody var pattern WORD 1 var found b
  • 如何根据所需表单输入的值更改 CSS 样式

    我想知道如何编写 javascript 来改变所需的表单元素的样式 如果它们有价值的话就改变它们 我想要做的是当所需的文本字段为空时 在它们周围有一个彩色边框 并在它们有值时删除边框样式 我想做的是编写一个 javascript 函数来检查
  • Bootstrap 3 多个导航栏

    我在 Twitter Bootstrap 3 中的多个引导程序中遇到问题 第一个导航栏可以正常调整大小和响应 第二个导航栏在正常分辨率下无法正常工作 但是当我尝试调整大小以响应并调整大小后 它可以正常工作 这是一些代码

随机推荐

  • 找出一个点属于哪个四面体元素

    我有一个 3d 区域的四面体网格 网格由扩展名为 node 和 ele 的两个文件定义 其中包含与节点和元素相关的数据 这是 tetgen 3d Delaunay 四面体化程序 的输出文件的格式 node 文件的每一行包含节点编号以及该节点
  • 使用“imager”包中的 load.image() 函数在 R 中加载多个图像

    我想使用 imager 包中提供的 load image 函数加载多个图像 但我收到一条错误消息 找不到文件 有人可以帮我解决这个问题吗 我尝试加载列表中的图像 并将此列表作为参数添加到 load image 函数中 但它只能读取一个文件
  • Python/html- 将多个 html 合并为一个 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我写了一个 python 脚本来将文本文件转换为 html 文件 但如果我不能把它们全部
  • 当没有给出路径时,在java中将在哪里创建一个新文件?

    在Java中 File f f new File myfile txt if f exists f createNewFile 执行上述代码时 默认分配的是哪个路径 而没有给出具体路径 当前目录 您可以通过调用以下命令获取 new File
  • 如何使用 VLC 流式传输图像/文件?

    所以我知道有很多 libVLC dll 的包装器 但我只是不知道谁准备好做我需要做的事情 我需要的很简单 在我的 C 程序中 我创建了一些位图 每秒一次或两次 我现在想使用 VLC 将位图作为视频 以 VLC 可以提供的某种格式 实时流式传
  • 在 malloc 内存上使用 sizeof() [重复]

    这个问题在这里已经有答案了 可能的重复 新手关于malloc和sizeof的问题 我正在尝试将字符串读入程序中 当我注意到字符串有时会被损坏时 我尝试了以下代码 void mallocated malloc 100 printf sizeo
  • 如何将拒绝的行重定向到另一个文件?

    这是我的来源csv file col1 col2 col3 col4 col5 col6 1 A AA X Y H 2 B CC D reject this row because CC it should be in col3 3 E F
  • Laravel 从 base64 返回图像预览

    我有 Base64 图像 我想返回图像预览而不是 Base64 代码 I tried return response base64 decode results gt getBase64Image 200 Content Type gt i
  • Bokeh 跳过分类数据的刻度标签

    我使用的是 Bokeh 版本 0 12 13 我有混合的数字和分类数据 我在 x 轴上只有一个分类数据 其余的都是数字 我将所有内容转换为分类数据来进行绘图 可能不是实现我的目标的最简单方法 现在我的 x 轴刻度标签比我需要的要密集得多 我
  • 如何在mysql中将单行拆分为多列

    简单问一下 mysql中有没有可用的函数将单行元素拆分为多列 我有一个带有字段的表行 user id user name user location 在此用户可以添加多个位置 我使用 php 将位置内爆并将其作为单行存储在表中 当我在网格视
  • Cosmos Mongo API“In”数组表达式问题

    IN 表达式有问题吗 我们遇到的问题是 即使存在 它也找不到我们要求的结果 SerialNumber V8073023 t DeviceEventDataEvent EventType NumberInt 4 isDeleted in fa
  • C++ vector > 在开始处保留大小

    在 C 中我有 vector
  • 检测未初始化的数组

    在下面的程序中 两个例程set int array and set real array为虚拟数组定义一些值 但假设初始化a and r 第 1 行和第 2 行 无意中丢失了 即 这两行在正确的程序中都应该取消注释 我的问题是如何使用某些编
  • Symfony2在全局文件夹下命令行生成树枝模板

    我正在使用 Symfony2 8 每当我使用命令行生成控制器 and 树枝模板模板是在下面创建的 MyBundle Resources views home home html twig 我想遵循以下建议的最佳实践symfony 文档并将其
  • 响应式箭头面包屑导航[重复]

    这个问题在这里已经有答案了 所以我有一个面包屑导航 箭头间隔开 棘手的是我需要它具有响应能力 我想我在使用 vh 和 vw 时已经很混乱了 但我遇到的问题是白色间隔符没有像前面的箭头那样响应 有什么建议么 或者有更好的方法来处理吗 我尝试了
  • Jexcel公式计算错误

    我创建了一个工作表 out xls其中单元格 D6 D5 2 且 D5 设置为 1 我的问题是 当我将值插入 jxl 中的 D5 时 D6 永远不会计算 当我在 Excel 中将 1 插入到 D5 中时 D6 只是保留它最初计算出的值 注意
  • python:转换损坏的xls文件

    我从 SAP 应用程序下载了一些销售数据集 SAP 已自动将数据转换为 XLS 文件 每当我打开它时使用Pandas库我收到以下错误 XLRDError Unsupported format or corrupt file Expected
  • 临时文件目录“/var/www/html/activate/../temp/”在实时服务器上不可写

    我在生成 PDF 文件时在实时服务器上收到此错误 它在我的本地系统上运行良好 我正在使用 Laravel 和这个 mPdf 包来生成 PDF PDF包 我如何向该 Temp 文件夹授予可写权限 我在代码中找不到它 并且在服务器上它也不位于上
  • Apache 2.4 中所有大写的 HTTP 标头都去掉了下划线

    我有一个应用程序依赖于发送全部大写加下划线的 HTTP 标头以及请求 从 开始阿帕奇2 4 包含无效字符 包括下划线 的标题现在 默默地落下 这一页建议您可以更改一些设置 以允许不删除旧的 HTTP 标头 即 如果它们在 CURL 中设置
  • 在光标位置插入笑脸

    我正在制作一个项目 用户可以单击表情符号并将它们插入到 contenteditable div 中 我想要三个 div 无论我在什么 div 中 笑脸都应该插入该 div 中 另外 这里的问题是表情符号只插入在 div 的末尾 我希望笑脸只