问题标签 [getselection]

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 回答
1974 浏览

javascript - 获取准确的插入符号位置

如何在 tinyMCE 中获取当前插入符号的位置?参考这个问题“ Get cursor position or number of line of which cursor is in TinyMCE ”提到了如何在tinyMCE中获取行号,但是我找不到关于如何获取实际插入符号位置的参考?我需要这个,因为我使用 tinyMCE 作为实时协作的文档,因此我需要知道客户在同一个文档中书写的插入符号的位置,以便我在某些事件(击键、点击等)上广播位置。 ) 并在位置上绘制自定义插入符号,以便一位客户知道另一位客户在哪里写作或编辑。

我找到的唯一解决方案是在内容之后添加一个跨度,选择它并删除它,如下所示:

然后插入后,执行此操作...

这是解决它的唯一方法吗?

编辑:实际上上面只是将光标的位置设置到内容的末尾,我已经使用书签处理了一些事情。

是否有可能没有任何东西可以获取光标的位置?

0 投票
2 回答
17059 浏览

java - 如何获取 JList 中的选定项目并使用强制转换

在我的程序的一部分中,我有一个JList关于位置的列表,并且我得到了一个 API,它应该使用来自该位置的项目JList并打印出该位置的天气。所以现在我不能这样做,因为我使用

但出现错误:类型不匹配:无法从 int 转换为 WeatherAPI。

这是有效的 API 示例:

所以我不想得到第一个选项,我想得到用户选择的位置。这都是关于铸造的。我也试过这个没有用:

我得到了其余的代码,它使用“firstMatch”,但它仅在其类型为 WeatherAPI 时才使用它。

0 投票
1 回答
1485 浏览

javascript - 如何保存和恢复anchorNode/anchorOffset & focusNode/focusOffset?

在以下代码中:

替换范围时,anchorOffset 和 focusOffset 被交换。即,无论选择实际从哪一端开始和结束,锚点都会重置到选择的最左端,并将焦点重置到最右端。添加范围(或至少不存储)时似乎忽略了锚点和焦点,并且它默认并假定左锚点和右焦点。

这是一个该死的麻烦!

我不抱太大希望,但是有什么办法可以解决这种行为。我真的很想能够恢复原来的锚点和焦点位置。

在 chrome 和 firefox 中工作相同。

编辑

好的,已经得出了部分答案:

但是,这在 IE9+ 中不起作用,因为 IE 没有实现扩展方法。那么现在的问题就变成了,如何让IE在这方面玩的好呢?

0 投票
3 回答
490 浏览

javascript - getSelection 不会在自定义文本输入中为我找到选定的文本

我正在使用新的Firepad 实时文本协作服务

我想getSelection在用户选择的框中的文本上使用 JavaScript 方法。

但是,无论出于何种原因,我的代码都无法正常工作。

我的 JavaScript:

HTML:

我的测试站点

0 投票
1 回答
945 浏览

javascript - getSelection() 在 IE10 中损坏

我在我的项目中使用window.getSelection()方法来制作可引用的文本

它在所有现代浏览器中都可以正常工作,除了 IE10。在 IE10 控制台中返回正确的文本,但选择被破坏。

我使用的唯一代码:

此代码调用mouseup事件。

有谁知道解决方案?

0 投票
1 回答
254 浏览

javascript - 使用 getSelection 在链接中包装链接

我一直在盯着这个问题一段时间,并没有设法得到一个有效的解决方案。

我正在使用Rangy库来确保对Ranges的最佳支持。

目标

  1. 进行选择并使用链接换行。即使选择在链接内。
  2. 对已链接的选择进行完整选择并将其替换为链接。

例子

我希望转换以下内容,其中|是一个选择范围。

预期的

测试期望 Plnkr

我感谢你的帮助。

更新(2013-05-15 21:37 UTC):

我有以下

我还更新了plnkr 测试

0 投票
2 回答
1084 浏览

javascript - 在 window.getSelection() 之后获取下一个字符

无论如何在window.getSelection()之后获取下一个字符?我需要检查所选文本后面的字符是否为空格...

编辑:谢谢你的回答!我基本上使用此链接 来突出显示文本,但想将内容限制为完整的单词。我使用下面(由 Steven 提出的)提出的解决方案作为起点;我认为以下应该有效:

(在上面的链接中,我在 makeEditableAndHighlight 函数调用之后使用了这段代码)。

0 投票
2 回答
1699 浏览

javascript - getSelection.toString() - 不使用 toString()?

我需要从选择中提取文本并将其发送到 TTS 服务。TTS 服务将为每个单词返回一个流 URL 和一组索引,指示它们的开始和结束位置(时间和文本)。

当用户播放流时,我想在读出每个单词时突出显示它们。为此,我不能只使用每个单词的文本索引,因为它们无法让我回到原始的 HTML 节点——因此我不能使用toString()严格的文本。

到目前为止,我正在做的是使用范围对象的开始和结束容器创建一个 TreeWalker,并使用它来提取范围中的所有文本节点。

问题: window.getSelection().toString()本质上会忽略未显示的节点。这包括<script>节点,<style>节点,节点display: none;等。使用 TreeWalker 不会。

我知道我可以手动跳过 TreeWalker 中的所有这些节点(就像在getSelection 中建议的那样,其中没有 alt 属性和脚本?),但它很快就会变得非常复杂(尤其是检查每个节点的可见性)。

在进入这个之前,我想问一下,自从我链接的问题得到回答后,是否有任何新的方法或库可用?

我不打算将代码跨浏览器,我使用的是纯 Javascript(即没有 jQuery)。

0 投票
1 回答
1457 浏览

javascript - window.getSelection returns null on Chrome

I have a Spring app running on localhost:8080. On this app, window.getSelection returns null. I thought that it might be a Javascript library that might be reassigning it, but I checked and I can't find anything. I created another page (a bare-bones one) that has nothing on it, and that page is also behaving the same way.

I also have a regular webserver running on this machine, and so I decided to try it there, only to see the same behavior.

I then tried to accessing the page from outside my network, using the hostname associated with my dynamic IP. This also gave me the same behavior.

However, every other page (i.e., normal webpages that are not hosted on this machine) that I open with the browser is behaving properly and returning a non-null value.

I checked this out in Firefox and thankfully it seems to work there. I'm curious as to why I'm seeing this behavior though. Does Chrome institute some security measures when it notices that you're hitting localhost?

0 投票
1 回答
279 浏览

jquery - getSelection() 中的 Jquery 字符限制;?

我有一个 jquery 脚本,它可以通过单击相应的按钮来复制所需字段中的选定文本......现在我需要限制这些输入 id 不同数量的字符......第一个输入应该有最多 5 个字符,第二个最多 2第三个最大值为3 ....在 getSelection() 中解决一些问题;功能?或者是其他东西?

这是当前的 jsfiddle:http: //jsfiddle.net/dzorz/ZhN3M/

尝试选择文本的一部分,然后单击一个按钮以测试功能

html:

脚本: