如何在 contenteditable 中获取 @ 和插入符号之间的字符范围

2023-12-26

我有一个 contenteditable div,它包含其他标签,而不仅仅是纯文本。只允许输入一个@。如果存在@和脱字符号之间的字符范围,如何获取该范围?


哈,这比我想象的要容易!基于这个容易被忽视的问题:Div "contenteditable" :获取和删除插入符号之前的单词 https://stackoverflow.com/questions/24890130/div-contenteditable-get-and-delete-word-preceding-caret我分叉了它的 jsfiddle,这是我的按预期工作:

http://jsfiddle.net/52m2thu2/1/ http://jsfiddle.net/52m2thu2/1/

function getWordBetweenAtAndCaret(containerEl) {
    var preceding = "",
        sel,
        range,
        precedingRange;
    if (window.getSelection) {
        sel = window.getSelection();
        if (sel.rangeCount > 0) {
            range = sel.getRangeAt(0).cloneRange();
            range.collapse(true);
            range.setStart(containerEl, 0);
            preceding = range.toString();
        }
    } else if ((sel = document.selection) && sel.type != "Control") {
        range = sel.createRange();
        precedingRange = range.duplicate();
        precedingRange.moveToElementText(containerEl);
        precedingRange.setEndPoint("EndToStart", range);
        preceding = precedingRange.text;
    }
    var lastWord = preceding.match(/@(.+)$/i);
    if (lastWord) {
        return lastWord;
    } else {
        return false;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 contenteditable 中获取 @ 和插入符号之间的字符范围 的相关文章

  • 直观地执行不同的排序算法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 通过jquery在日期框中自动添加斜杠/符号[重复]

    这个问题在这里已经有答案了 我发现几个问题但没有答案 所以我问问题 如何添加自动斜杠 符号
  • fetch API 不通过 post 发送数据

    我在使用 Fetch API 通过 post 发送数据时遇到问题 服务器只收到一个空的 JSON 有人能帮我吗 基本上 我正在更新状态数据并将其发送到 API 提交的数据 请求 submitedData async event gt eve
  • 组织 jQuery/JavaScript 代码的最佳方式 (2013) [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 问题 这个答案之前已经回答过 但已经
  • Jquery - (重新)连接动态生成的元素

    很多时候 我的元素与附加功能挂钩 例如 myfav autocomplete myfav datepicker myfav click somefunction 但是 当通过某些代码动态生成此类的更多实例时 新的 myfav 已经死了 需要
  • 让 GTM 代码在 Web 应用程序上运行

    我们公司的职业 工作网站使用第三方服务 允许用户提交职位发布申请 最初 用户登陆一个与 GTM 完美集成的外部平台 在 CMS 中 您可以轻松地将 GTM 代码添加到标题和正文区域 然而 一旦用户点击职位描述上的 应用 他们就会被重定向到一
  • LitElement 不更新列表中的复选框

    我有一个简单的清单 每个项目都有一个删除按钮 当我选中第一个项目然后删除它时 列表会更新 删除该项目 但会选中下一个项目的复选框 下一项的属性是正确的 这是我的代码 import LitElement html from lit eleme
  • 处理重叠 SVG 图层中的鼠标事件

    我正在使用 d3 js 构建地图可视化 我正在为美国各州和县绘制填充多边形 县的 SVG 图层位于州图层下方 状态已填充 但填充不透明度设置为 0 我认为 需要填充来捕获点击事件 我想捕获州级的点击事件 但我想捕获县级的鼠标悬停事件 但是
  • 是否有管理 __utma、__utmz 等 cookie 的标准?

    无论我登录 Facebook 还是 Twitter 我都会受到以下名称的 cookie 轰炸 utma utmb utmc utmv 它们的功能是什么 是否有一个标准来管理这些在服务器端的使用方式 这些 cookie 通常与谷歌分析 htt
  • 无法设置未定义的属性“显示”

    我正在编写脚本来隐藏 显示菜单 但遇到了一些麻烦 function displayMenu var classMenu event target className classMenu Menu document getElementsBy
  • 如何禁用 Firebase 电话身份验证 reCAPTCHA? (网络/反应)

    我正在构建一个 React Firebase 应用程序并使用 Firebase 的 PhoneAuthProvider 进行身份验证 在开发过程中 需要进行大量的登录和注销来测试身份验证流程 私有路由 登录重定向等 每次我需要登录时 都会向
  • 如何检查 Node.js 中是否定义了变量?

    我正在用node js 编写一个程序 它实际上是js 我有一个变量 var query azure TableQuery 看起来这行代码有时没有执行 我的问题是 我怎样才能做到这样的条件 if this variable is define
  • 与 webpack 捆绑后,无法读取枚举的未定义属性

    我有一个 React 库 我想使用 Webpack 来构建它 该库是使用 Typescript 编写的 似乎一切正常 但由于某种原因枚举却不起作用 当我将库安装到我的 React 应用程序中时 我发现Cannot read properti
  • 是否可以使用 JavaScript 导入 HTML?

    我有一些具有相同页脚的 html 页面 使用 JavaScript 并且仅使用 JavaScript 我可以在其中导入另一个 html 页面吗 下面介绍了如何仅使用 JavaScript 向页面添加页脚 2022 代码 使用fetch ht
  • 使用backbonejs视图,将“onload”事件附加到图像标签的最佳方法是什么?

    我想在backbonejs 视图中为图像附加一个 onload 事件 我目前将其作为 load img function 包含在 事件 中 但它没有被触发 这样做有什么建议吗 Backbone的事件处理基于delegate https st
  • Highcharts 异步服务器加载多个系列

    我正在尝试按照其示例使用 Highcharts 的延迟加载 http www highcharts com stock demo lazy loading http www highcharts com stock demo lazy lo
  • 为车把/余烬定义模板内的数组?

    我在 ember 应用程序中有一个车把模板 它接受一个数组 我目前像这样声明数组 模板 Gd radio input content radioContent value blue JavaScript App IndexControlle
  • Javascript:如何捕获使用 window.location.href = url 导航到的页面上的错误

    我正在使用 REST 服务生成一个 CSV 文件 我想提示用户下载该文件 该服务的示例如下 https localhost 8444 websvc exportCSV viewId 93282392 为了提示用户下载文件 我使用以下代码 w
  • 如何使用 javascript 获取 html5 视频的缩略图?

    我找到了根据 URL 获取视频缩略图的 JavaScript 代码 不过 我只在 YouTube 和 Vimeo 上找到了这个 似乎没有人列出如何处理旨在嵌入 html5 视频标签的视频的示例 能做到吗 谢谢 是的 您可以使用视频作为画布的
  • 如何强制传单更新地图?

    当我将 Leaflet 与 React 一起使用时 我遇到了问题 据我研究 问题是 Leaflet 也想控制 DOM 渲染 现在 国家将使用与后端信息相对应的特定颜色代码 范围为1 gt 100 正确着色 但是 它每分钟更新一次 更新后 国

随机推荐

  • ASM x64 中 40h REX 操作码的用途是什么?

    我一直在试图理解这个的目的0x40ASM x64 指令的 REX 操作码 例如 在 Kernel32 dll 的函数序言中 正如你所看到的 他们使用push rbx as 40 53 push rbx 但仅使用53h操作码 不带前缀 也会产
  • MVC 还是 Web 表单? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Bootstrap 3 多列响应式轮播

    我一直在玩引导轮播 试图让它响应式地每张幻灯片显示 4 列 事情的响应方面是完美的 但是当最后一张幻灯片滑动时 轮播不会返回到第一张幻灯片 它就这样消失了 谁能找出问题所在吗 HTML div class carousel slide ol
  • Facebook android sdk 3.0 单点登录

    在 Facebook SDK 的早期版本中 我们可以检查用户是否仍然使用令牌登录 在新的3 0版本中我找不到除了调用之外的其他方法openSession 检查用户是否仍然登录SSO But openSession 如果用户未保存并且我不希望
  • 返回 XML 的 Linq 存储过程

    我正在使用实体框架代码优先方法 我想从以下位置调用一个存储过程DbContext类并获取 XML 输出 存储过程 SQL Server CREATE PROCEDURE xml test AS BEGIN DECLARE xml1 xml
  • 如何在 Rust 中实现多级柯里化函数?

    我尝试实现类似于的柯里化函数Rust 中的函数式编程术语 https functional works hub com learn functional programming jargon in rust 1b555 currying f
  • 使用 eventlet.monkey_patch() 时如何使 raw_input 成为非阻塞以及为什么它会阻塞所有内容,即使在另一个线程上执行时也是如此?

    我写了这个最少的代码来解释我的情况 import threading import time import eventlet eventlet monkey patch def printing function while True he
  • 使用 Polymer 实现声明式集合渲染的最佳方法是什么?

    我希望能够渲染通过以下方式获取的远程集合
  • List.remove奇怪的行为

    Note 不是这个问题的重复 为什么我在此示例中没有收到 java util ConcurrentModificationException https stackoverflow com questions 8189466 java ut
  • JPA 查询中子对象的排序返回

    所以如果我的 JPA 查询是这样的 从父 p 左连接中选择不同的 p 按 p someProperty 获取 p children 订单 我正确地得到了由 p someProperty 排序的结果 并且我正确地得到了急切地获取和填充我的 p
  • Sass &符号和属性选择器

    我想创建一个 sass 文件 选择器将是属性选择器 当我使用类选择器时 在大多数情况下我会这样做 parent child 这给了我以下CSS parent child 我想用属性选择器实现同样的目标 data parent child 我
  • 如何在 Scala 中编写 Either/Disjunction 的 Future

    假设我要编写以下函数 val mayFail1 Int gt Error Int val slowAndMayFail Int gt Error String val mayFail2 String gt Error Int val may
  • 在 eclipse 中扩展参考搜索

    当我在 Eclipse 中单击变量 对象等并从上下文菜单中选择 引用 gt 项目 时 我会看到引用所述对象的方法列表 然而 如果一个函数有多个引用 结果将显示为 functionName signature x matches 双击结果会将
  • mysql中如何计算权重

    我正在尝试在下面的表格上进行简单的数学计算 Cty lst Cty Rgn Criteria Total Sntmt ALL ALL ALL 3155 ALL Bangalore ALL ALL 628 ALL Chennai ALL AL
  • 尝试运行java时出现错误消息

    尝试运行 java 时收到以下错误消息 我输入了 java version 但出现错误 C gt java version Picked up JAVA OPTIONS Xrunjvmhook Xbootclasspath a C PROG
  • 在 UIImagePickerController 中强制横向

    我是 iOS 开发新手 正在开发我的第一个应用程序 如果我问新手问题 很抱歉 我的应用程序都是纵向的 除了我正在使用的地方UIImagePickerController要拍摄要在应用程序中使用的照片 我正在做的是 UIImagePicker
  • 为什么 FireFox 下载文件时不包含 .xml 扩展名?

    好的 我确信它确实会下载带有 xml 扩展名的 XML 文件 但我想知道此处的代码中缺少什么 导致下载的文件中缺少 xml 扩展名 注意 这适用于 IE 6 没有尝试基于 WebKit 的浏览器或 Opera private void Ge
  • 如何在winform列表框项目上添加工具提示

    我正在使用 Windows 窗体列表框控件 我想在列表项上添加工具提示 我找不到任何默认的此类属性 请分享我 如何在 winform 列表框项目上添加工具提示 谢谢 如果您想在列表框中执行此操作 则需要手动执行此操作 向表单添加工具提示并根
  • 表达式中的多个后缀增量运算符[C++] [重复]

    这个问题在这里已经有答案了 可能的重复 谁能解释这些未定义的行为 i i i i i 等等 https stackoverflow com questions 949433 could anyone explain these undefi
  • 如何在 contenteditable 中获取 @ 和插入符号之间的字符范围

    我有一个 contenteditable div 它包含其他标签 而不仅仅是纯文本 只允许输入一个 如果存在 和脱字符号之间的字符范围 如何获取该范围 哈 这比我想象的要容易 基于这个容易被忽视的问题 Div contenteditable