问题标签 [textrange]

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.

0 投票
1 回答
1010 浏览

javascript - 在文本区域中以不同颜色突出显示字符串

我正在努力使文本区域可由多人编辑 - 使用 mobwrite。mobwrite 在其工作中使用 diff-match-patch。它在不同人之间同步 textarea 方面做得很好。现在,我想要用不同颜色突出显示来自不同用户的补丁。

为此,我将不得不以某种方式为文本区域中的“文本范围”着色?(当然,直接编辑 textarea 本身!)

我已经阅读了关于两个语法荧光笔 - codemirror 和 editarea。它们具有获取“文本范围”的开始和结束的有用功能。但是,如果不加载很多不必要的 javascript 代码,我找不到一种方法来为这个选择范围着色。

请建议我如何实现“在文本区域中为一系列文本着色”。谢谢你。

0 投票
1 回答
197 浏览

javascript - 如何使用 createTextRange 在 2 个不同的文本区域中选择 2 个单词

我需要以编程方式在 2 TextArea 中选择一些单词。我正在使用以下 javascript 来选择单词。问题是选择仅在第二个 TextArea 上持续存在。我正在使用 IE 6(我知道它很旧,但与项目相关)。

如何使选择在两个 TextAreas 中都保持不变

0 投票
2 回答
897 浏览

c# - 在 powerpoint 的文本框中查找动画的开始/结束字符索引

这是一些示例幻灯片的屏幕截图。我有一个关于“披萨”这个词的动画。我试图通过字符号查找字符串中的哪个位置。

示例幻灯片 我获取有关动画信息的代码:

Pizza 应该从字符 11 左右开始,但 TextRangeStart 属性声称它从字符 80 左右开始。TextRangeLength 也是错误的。它声称它的长度是 71 个字符,而它应该是 6 个(“披萨?”的长度)。对我来说,这似乎是计算文本范围的整个长度而不是动画部分。

WBLAnimation 只是一个辅助类。它需要一个效果、一个形状、形状的开始位置和结束位置。这最终需要重构。这只是我如何获取此信息的一个示例,因此有人可能会指出我做错了什么。

有没有另一种方法可以找到动画在字符串中发生的位置?

谢谢!!!

0 投票
3 回答
2501 浏览

internet-explorer-8 - TextRange offsetLeft 和 offsetTop 在 Internet Explorer 8 标准模式 (IE8) 中损坏

在查找文本范围的位置时,我似乎发现 Internet Explorer 8 存在问题 - 例如当前选定的文本。我发现无法在 StackOverflow 或其他地方找到有关此问题的任何报告。

TextRange.offsetLeft 和 TextRange.offsetTop 报告范围的左上角,并且在我在 IE8 中看到的所有情况下,它们大致正确,除非范围在 IFrame 内。当范围在 IFrame 内时,offsetLeft 和 offsetTop 的值相对于 IFrame 在其父级中的位置移动负数。(见下面的例子)

此问题仅在以下情况下出现:

  • 浏览器是IE8
  • 该页面处于标准模式

在以下情况下不会出现此问题:

  • 浏览器是IE7或IE10
  • 该页面处于怪癖模式

我的问题:

  • 其他人可以确认这个问题还是我疯了?
  • 这是一个已知的问题?
  • 是否有任何理智的解决方案或解决方法?(一个理智的解决方案是框架中的 JS 不需要知道任何关于其父窗口的信息)

谢谢。

问题示例:(查看 IE8 与 IE9 的区别)

0 投票
1 回答
297 浏览

vb.net - xaml 包的文件扩展名

我尝试使用 TextRange 保存富文本框中的数据以保存为 xamlpackage 格式,但是我的问题是基本的,文件应该具有什么扩展名,如果我使用 Xaml,正常的 wpf xaml 文件将无法按原样打开不是 xamlpackages,你能告诉我 xamlpackage 的正确扩展名吗?

谢谢你。

0 投票
1 回答
990 浏览

c# - RichTextBox 中的 TextRange 构造函数性能

我目前正在从事语法高亮和代码完成项目,并基于 RichTextBox 进行用户控制。我在适应 RTB 的工作方式和一切方面遇到了一些问题,但我设法进行了简单的语法突出显示。

简单意味着每次用户键入字符时我都会突出显示整个文本。它不应该很快或任何东西,但它太慢了。当我有大约 500 个字符的文本时,性能问题变得明显,并且我只对每个键入的字符进行一次传递(一次传递中调用了大约 100 次“colorInterval”函数)。

性能分析表明问题是 TextRange 构造函数需要大约 80% 以上的时间,并且我每次需要为文本间隔着色时都使用它:

所以这是我的问题

我这样做是不是做错了什么,或者有没有办法提高 TextRange 的性能,回收“范围”对象或类似的东西?还有什么其他解决方案。

0 投票
1 回答
811 浏览

internet-explorer - 为什么 TextRange.parentElement 返回我范围内 FINAL 元素的父级?

这是我的 HTML:

(下周你可以在http://www.webdevout.net/test?06&raw看到它)

我试图确定当前选择的文本(在 IE8 中)是在一个 LI 内还是跨越多个 LI。当我选择 LI 的一和二的全部,然后在控制台中输入以下document.selection.createRange().parentElement().innerHTML内容时,只返回第二个 LI (HI 2 2 2 2 2 2) 的内容。

为什么 TextRange.parentElement 返回范围中的最终元素而不是整个范围的父元素?

文档说“如果文本范围跨越多个元素中的文本,则此方法返回包含所有元素的最小元素。” 我的最终目标是确定是否选择了多个 LI;我认为“检查 parentElement().nodeName.toUppercase === "LI"" 是否会这样做,但如果 parentElement() 没有返回 parentElement,我就不能这样做。

0 投票
3 回答
176 浏览

javascript - 将跨度放在选定的文本上

如何在不破坏任何标签元素(javascript)的情况下使选定的文本被一个跨度包围

一个例子:

原文:

选择:

吧台_o
anoth

我不想破坏 html 嵌套结构:

我需要这样的东西:

0 投票
1 回答
1066 浏览

javascript - Javascript 文本范围到插入符号位置

我正在使用 IE 8,我想在 contenteditable div 中创建一个文本范围,该范围应包括插入符号位置之前的所有文本(我在 editableDiv 中知道)。到目前为止,我能够选择 div 中的所有文本:

但是如何创建一个从 div 中的第一个字符开始并持续到插入符号位置的文本范围?非常感谢你。

0 投票
1 回答
2002 浏览

vba - 在找到 txt 的位置获取段落编号,并使用 Word 2010 vba 将文本移动到段落末尾

我正在尝试使用 VBA 将出现在各个段落开头的富文本子句(“strText”)移动到出现子句的每个段落的末尾,然后在 strText 下划线。

我是 vba 编程的新手/爱好者,所以请保持温柔。在寻求帮助之前,我花了几天时间解决这个问题。

我尝试编码的问题(如下所示):

  1. 我试图将找到的文本(strText)出现的段落编号分配给 var“LparaNo”。但是“LparaNo”返回的数字完全不符合标准。如果有人对如何获得正确的段落编号有任何建议,我将不胜感激。我的意图是设置一个范围变量 objRange_ParaHoldingText=ActiveDocument.Paragraphs(LparaNo).Range,即一个范围,该范围将反映在其中找到所寻找的文本的段落。

  2. 我不知道如何将 objRange01(“strText”,它是格式化的文本)移动到它出现的段落的末尾。

任何建议将不胜感激。

谢谢,马克