jQuery – 获取选择的段落,长度等
我正在尝试完成一些我认为在jQuery中应该很简单的事情。
我的网站上有很长的文字。 每当用户选择(突出显示)文本时,我需要获取以下信息:
- 选择开始的段落
- 选择开始于该段落中的字符
- 选择的长度
- 选择结束的段落(如果突出显示超出一个段落)
- 选择结束的那一段中的字符
谢谢你;)
我想我之前已经在Stack Overflow上回答了所有这些问题。 反过来:
- 来自这里的
getAncestor()
和来自这里的getSelectionBoundaryContainerElement()
的组合将完成这项工作 - 这取决于你的意思是“选择开始于那个段落中的字符”。 如果段落内部可能有其他元素而不仅仅是一个文本节点,这会变得有点棘手。 你可以适应这个 。
- 同样,这取决于你所说的“选择的长度”。 您可以将所选文本作为字符串获取并使用其length属性。
- 查看选择开始的答案
- 查看选择开始的答案
你需要做一些关于API的研究才能做到这一点,这不是坏事。
您需要将JavaScript用于处理文本选择的任何内容。 jQuery没有内置函数来检测选择的开始位置或结束位置。 Rangy http://code.google.com/p/rangy/可能是您可以用于此目的的东西。
玩弄
window.getSelection document.getSelection document.selection.createRange()
请参阅此站点上的示例: http : //www.codetoad.com/javascript_get_selected_text.asp