javascript - 有什么方法可以在 contentEditable DIV 中突出显示当前单词和句子?

标签 javascript jquery query-string contenteditable

我有一个 contentEditable DIV(构建一种编辑器组件)。我正在寻找一种方法来突出显示用户正在键入的当前单词以及该单词所在的句子。例如,考虑以下段落:

I am a sample paragraph. I contain words that dont make much sense but are there just to fill the space. I can have only one caret at a time. ...

现在,如果插入符号在第一句中的单词“sample”上,我想突出显示单词(“sample”)和那个句子(“I am a sample paragraph.”)。类似地,如果插入符在第二句中的“sense”一词上,则该词本身和第二句要有突出显示等等。通过突出显示,我的意思是当前句子具有浅色背景色,并且当前单词具有更突出的背景颜色。

有什么技术可以实现这一点?我试着把句子分成 <span class="sentence">..</span>和每个句子中的单词变成<span class="word">..</span> .但这在从剪贴板等粘贴内容时太痛苦了。我还考虑过找到插入符位置并在整个文本中来回遍历以查找当前单词和当前句子并在旅途中应用类(class)等。但我有一种感觉会让打字体验变得迟钝而且容易忘记。

我的想法已经用完了。任何帮助将不胜感激。

谢谢。

最佳答案

This jQuery 插件突出显示页面(或 DOM 元素)中的任何给定模式。

从那里开始,只需 Hook onChange 事件并与当前插入符位置的文本进行一些时髦的正则表达式匹配(还有用于确定插入符位置的 jQuery 插件,即 this 一个)。

关于javascript - 有什么方法可以在 contentEditable DIV 中突出显示当前单词和句子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8543714/

相关文章:

javascript - 我想防止我的搜索表单中出现空字段

javascript - 强制下载base64图片

javascript - 动态添加字段到 HTML 表单、发送数据并记住添加的字段和值

jquery - 如何使用 C# 字符串生成器创建简单的 JSON 对象

javascript - 使用 javascript 在 url 中添加/修改查询字符串/GET 变量

javascript - 如何分离主干/ Ember 组件?

javascript - 在鼠标悬停时将图像叠加到 Canvas 上

javascript - getViewportHeight() 导致只有一 block 视口(viewport)

javascript - 如何使用 $_SERVER 在 PHP 上获取 POST 原始数据

google-plus - Google Plus 开放图错误 : G+ doesn't recognize open graph image when UTM or other query string appended to URL