转载自: http://keenwon.com/1060.html
rangy.js 是一个兼容库(https://code.google.com/p/rangy/),主要用来获取用户鼠标选中的内容。现在很多“分享工具”都有这样的功能,下图是新浪博客的
当用户选中一段文字的时候,会出现分享按钮。类似的应用场景非常多:chrome的划词翻译,印象笔记的剪藏,社会化流量分享工具等。想要实现这些功能, 就必须获取用户当前选中的内容,在需要跨浏览器实现的时候,就无比纠结了。其实到我现在还没有搞明白相关概念(W3C Range,Mozilla Selection,Microsoft Text Range等)…不过我们可以使用rangy.js(如果要封装成控件,要求“小”的话,可能就要自己实现关键代码了)
这里要说一下rangy.js的文档(https://code.google.com/p/rangy/),看我的头晕脑胀,每一句都超长,包含很多whether,with,that,and,or等词语,让我这种英语很差的人十分头疼(正常人会说:“我吃了点饭”,不正常的人会说:“我倒也不是没吃”),常常看到后半句的时候已经忘了前半句在说什么了…但是rangy.js的功能还是比较强大的,除了核心库之外,还提供了几个插件来实现更具体的功能。下面是我需要实现的效果:
简单说就是用户选中一段内容,出现菜单,可以添加评论和标注。
rangy.js的具体用法就不说了,大家可以自己去看文档(头疼~~),我只是使用了最简单的功能:“获取并且标记文字”,之后想怎么操作都看你的想象力了。
官方Demo:http://rangy.googlecode.com/svn/trunk/demos/index.html
顺便记录下作者的此篇文章: FullCalendar中文文档目录(http://keenwon.com/143.html)。
相关推荐
- 高亮文本:你可以使用rangy 来高亮用户选中的文本,常用于搜索结果的突出显示。 - 复制和粘贴:rangy 提供了对剪贴板操作的支持,可以定制化复制和粘贴的行为。 - 保存和恢复选择:在页面重新加载或异步更新后,...
在网页开发中,有时我们需要获取用户在页面上所选中的文本,这通常涉及到浏览器的DOM操作和用户交互。`Rangy`是一个强大的JavaScript库,专门用于处理和操作用户在网页上的文本选择。本篇文章将深入讲解如何使用`...
**标题解析:** "js选取获取文本库" 这个标题暗示了我们主要讨论的是JavaScript中用于选取和操作文本的库。在Web开发中,文本选取通常涉及到用户在页面上选择文字的操作,而文本库则可能提供了一系列方便开发者进行...
兰吉铁路 宏伟的编写的简单Rails资产管道包装... 只需编辑app/assets/javascripts/application.js并对其进行调整即可。 这是一个示例示例,其中将包括Rangy及其所有模块: //= require rangy-core //= require rangy-
Rangy 是一个开源的 JavaScript 库,专为在 Web 浏览器中进行文本选择和标记操作而设计。在 Bower 包管理器中,Rangy 的发布版本被称为 "rangy-release",这使得开发者能够方便地将 Rangy 作为依赖项引入到他们的...
这表明 Rangy 是用 JavaScript 编写的,JavaScript 是一种广泛用于网页和网络应用的脚本语言,它在浏览器端运行,用于实现用户交互、网页动态效果以及与服务器通信等功能。 **详细知识点:** 1. **文本范围(Range...
这里我们将使用`document.getElementById()`方法获取DOM元素,并使用`style`属性来设置CSS样式: ```javascript document.getElementById('font增大').addEventListener('click', function() { var fontSize = ...
1. 源代码文件:可能包含 JavaScript 文件,如 rangy-position.js,这是 rangy-position 模块的主要实现。 2. 示例或测试:可能包含示例代码或测试用例,用于展示如何使用 rangy-position 功能。 3. 文档:可能包括 ...
用于confluence编辑器改造,为confluence编辑器增加字体设置和字号设置选项可参见 http://blog.csdn.net/keydot2007/article/details/21605411
首先,我们需要获取`textarea`元素并监听用户的操作。在JavaScript中,我们可以使用`document.getElementById`或`document.querySelector`来选取特定的`textarea`元素。例如,假设我们的`textarea` ID为`myTextarea`...
【JS Range对象】是JavaScript中用于处理HTML文档中任意内容选择的一个核心概念。Range对象允许开发者精确地选取文档中的特定部分,并对这部分内容进行操作,如复制、删除、替换等。这一特性对于实现富文本编辑器、...
"meteor-rangy"是一个基于JavaScript的开源库,专门用于处理浏览器中的文本范围和选择。在Web开发中,处理用户的选择行为(如复制、粘贴...通过学习和使用"meteor-rangy",可以提升Web应用的用户体验,并降低维护成本。
其目标并不是取代当今非常流行的编辑器,如 TinyMCE 或 Aloha Editor,而是给开发者提供一种更简单、更愉快的用户编辑体验。 Hallo.js是由Henri Bergius为IKS项目开发的一款免费软件,使用CoffeeScript开发,遵循MIT...
import rangy from 'rangy/lib/rangy-core.js'; import 'rangy/lib/rangy-classapplier'; import 'rangy/lib/rangy-highlighter'; import 'rangy/lib/rangy-selectionsaverestore'; // 定义一个 buttonBuilder 函数...
使用用户选择的文本在查询字符串中传递errorcontext参数以指示反馈问题(使用rangy JavaScript 库)。 自定义按钮外观、链接目标、文本和工具提示本地化。 请注意, DNN 反馈模块将包含所有查询字符串参数的整个 ...
一室一厅一个基于 JavaScript 的教程生成器,用于制作易于阅读的基于浏览器的编程教程此 Web 应用程序的依赖项包括: -require.js 与文本插件-json2.js -jQuery(我使用的是1.10.1版) -Rangy 的核心文件-Rangy 的 ...
在JavaScript中,操作文本输入域,如`<textarea>`,涉及到光标位置的处理时,通常需要使用到浏览器提供的API。对于不同的浏览器,这些API可能会有所差异。在处理`<textarea>`光标位置插入文字并移动光标到文字末尾的...
如果要添加/指定颜色名称,只需执行拉取请求 :cat_with_wry_smile:内置作为前端框架颜色名称的由来 Javascript颜色工具将颜色名称复制到剪贴板保存和恢复输入框的光标位置我想对颜色输入字段使用语法突出显示的提示...
获取依赖项并将其添加到您的项目中: :V1.8.2: :V0.3.1:MarkdownJavaScript端口 :V1.2.3:管理范围和选择的库。 需要两个模块:Rangy core和Selection保存和还原模块。 在iframe中创建新的编辑器:
Curbly 编辑器 用法(导轨): $ bower install curbly-editor #= require medium-editor/medium-editor #= require jquery-ui/jquery-ui #= require handlebars/...#= require rangy/rangy-selectionsaverestore