Javascript 获取除不可选择元素之外的选定文本
我试图在一篇文章中为选择的开始和结束获取字符偏移量。但是,我希望在此过程中忽略一些元素 在我的应用程序中,在JS动态注入一些元素之前,服务器正在处理HTML,并且文本中的字符数在服务器和客户端之间保持一致非常重要 我希望它能简单到和你一样。遗憾的是,尽管文本看起来不是选中的,但它仍然包含在选中的范围内 我在下面写了一个简短的例子。我曾经尝试过将removeFromSelection作为一种变通方法,但没有太大成功。也许我需要删除重叠的范围。不可选择并手动用全新的范围对象填充空白。我觉得这应该比我做的容易。我应该怎么做 函数findancestorofsetcontainer、节点、偏移量 { 如果节点==容器 返回偏移量; var parent=node.parentNode; var syblings=parent.childNodes; 对于变量i=0,len=syblings.length;iJavascript 获取除不可选择元素之外的选定文本,javascript,jquery,html,css,selection,Javascript,Jquery,Html,Css,Selection,我试图在一篇文章中为选择的开始和结束获取字符偏移量。但是,我希望在此过程中忽略一些元素 在我的应用程序中,在JS动态注入一些元素之前,服务器正在处理HTML,并且文本中的字符数在服务器和客户端之间保持一致非常重要 我希望它能简单到和你一样。遗憾的是,尽管文本看起来不是选中的,但它仍然包含在选中的范围内 我在下面写了一个简短的例子。我曾经尝试过将removeFromSelection作为一种变通方法,但没有太大成功。也许我需要删除重叠的范围。不可选择并手动用全新的范围对象填充空白。我觉得这应该比我
这不可能。
而这又可以。 输出 从:,到:这不是一个完整的解决方案,但这只是一个开始。其思想是迭代每个段落元素,如果它不可选择,则将其从选择中删除。我将所选内容转换为一个字符数组,并在开始处填充它,以便索引与整个文档中的索引相匹配 我没有注意最后的to和from值,它们可能不正确-但更重要的是,如果选择整个文本,您可以看到它在第二个不可选择的块上被关闭了几个字符。我没时间去摆弄它了,但也许其他人可以从我停下来的地方接过来 函数findancestorofsetcontainer、节点、偏移量 { 如果节点==容器 返回偏移量; var parent=node.parentNode; var syblings=parent.childNodes; 对于变量i=0,len=syblings.length;i
这不可能。
而这又可以。 这是可以选择的。这不可能。
而这又可以。 输出 从:,到:你应该得到选中的HTML:然后你可以过滤掉它,例如:但是这需要更多的测试,因为我认为这可能是错误的