问题标签 [rangy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 带有css的范围的属性名称
如何使用 cssApplier 将跨度的属性名称放在 Ragy 中。一个例子:
我尝试:
但它不起作用。结果是:
它是范围内的错误吗?
javascript - 使用 Rangy,即使我通过 setStartBefore 方法扩展范围,range.canSurroundContents 方法仍然返回 false
我有以下html:
选择用|
字符标记。还有选择的截图:
我可以使用以下代码片段扩展此选择以包含整个“a”元素(使用 Rangy 库http://code.google.com/p/rangy/):
要查看它的实际效果,请查看http://jsfiddle.net/LTwkZ/1/
并且以下返回 true:
问题是“range.canSurroundContents()”返回“假”。'a' 元素完全包含在范围内,从开始到结束,为什么不能使用 'canSurroundContents()' 以及我怎么能,如果可能的话。
谢谢!
javascript - 将表格插入内容可编辑的 div
我有一个小提琴显示我的代码在做什么。使用 javascript/jquery 我正在尝试将表格插入到当前插入符号位置的内容可编辑 div 中。我正在使用Tim Down 的 Rangy库来完成此操作。我正在使用以下 javascript 执行此操作。
以防万一它在这里有帮助的是 getFirstRange 函数。
我需要在放置此表的任何位置制作有效的 html。例如,如果插入符号位于链接中间,我会尝试避免使用以下 html。
我希望它看起来像这样。
javascript - 应用自定义样式时拆分 HTML 标签
当您使用 WYSIWYG 编辑器并选择文本并对其应用例如粗体字时,浏览器将使用<span style="font-weight:bold">
标签包装所选内容(假设您已调用document.execCommand("useCSS", false)
和/或document.execCommand("styleWithCSS", true)
)。现在,如果您选择其中的一个子集并再次应用粗体,它会将原始粗体标签拆分为如下内容
在我正在开发的产品中,我们支持一系列 WYSIWYG 功能,包括一些 execCommand 不直接支持的功能(例如添加文本级别(类)以同时应用字体系列和字体大小),以及我们遇到了嵌套标签的问题。有没有办法告诉浏览器从样式中删除当前范围并基本上关闭以前的标签并在内容之后打开新标签?
我没有立即在execCommand 参考中看到任何内容。
我们使用rangy 1.2.3取得了一些成功,但我不知道我是否缺少某些命令。
当您添加多种样式时,这会变得更加复杂,因为在上面的示例中添加粗体和斜体,然后在中间删除粗体将产生三个跨度,两个带有粗体和斜体文本,中间只有斜体。
目前,我们将编辑器的使用限制在 Chrome 上。
javascript - 将标记转换为选择范围
如何将 jQuery 选择中的一组标记范围转换为一组范围广泛的范围?
例如我有这个:
我想将文本转换为范围({
并}
删除标记)。
我尝试使用这个:
但它的范围不正确。我认为该selectCharacters
方法忽略了空格。
如果可能的话,我也不想使用TextRangeModule
。
javascript - 范围循环中的随机操作 DOM
我有一组范围,从以下tokensToRanges
函数创建:
现在我想遍历每个范围,并对它们应用一个动作。但是我收到一个错误:
未捕获的错误:范围错误:DOM 突变后范围不再有效 ([WrappedRange("foobar":6)])
现在我明白了为什么会出现错误,但我想知道如何遍历一组范围并操纵每个范围?
javascript - 使 rangy CSSClassApplier 只切换一个元素,而不是一个类
无论如何/我怎样才能让 rangy 的 CSSClassApplier 只切换一个元素,而不是一个类。
我试过了:
但是是行不通的。
javascript - Etch.js 与 Backbone.Marionette.js 的集成
有没有人遇到过 Etch.js 在 Backbone.Marionette.js 应用程序中的集成?
我在绑定保存事件时遇到问题。这是我的木偶视图的代码:
在我的模板中,我有以下内容:
插件已正确加载,如果单击该字段,我可以看到 Etch 按钮栏,我可以编辑可编辑元素的内容,如果单击保存按钮,我实际上可以触发模型 save()方法。
问题是提交的模型是原始模型,没有我对该字段所做的编辑。我认为这是一个有约束力的问题,有什么想法吗?
预先感谢,一如既往。