jQuery - 获取选择的段落、长度等
Posted
技术标签:
【中文标题】jQuery - 获取选择的段落、长度等【英文标题】:jQuery - get selection's paragraph, length, etc 【发布时间】:2011-10-23 20:32:09 【问题描述】:我正在尝试完成一些我认为在 jQuery 中应该很简单的事情。
我的网站上有很长的文字。 每当用户选择(突出显示)文本时,我都需要获取以下信息:
选择开始的段落 选择开始的段落中的字符 选择的长度 选择结束的段落(如果突出显示超出一个段落) 选择结束的段落中的字符先谢谢了;)
【问题讨论】:
你试过什么..? 【参考方案1】:您需要将 javascript 用于处理文本选择的任何事情。 jQuery 没有内置函数来检测选择从哪里开始或在哪里结束。 Rangy http://code.google.com/p/rangy/ 可以用于此目的。
【讨论】:
【参考方案2】:玩弄
window.getSelection
document.getSelection
document.selection.createRange()
查看此站点上的示例:http://www.codetoad.com/javascript_get_selected_text.asp
【讨论】:
【参考方案3】:我想我之前在 Stack Overflow 上已经回答了所有这些问题。反过来:
来自here 的getAncestor()
和来自here 的getSelectionBoundaryContainerElement()
的组合将完成这项工作
这取决于您所说的“选择开始的段落中的字符”是什么意思。如果段落内部可能有其他元素而不仅仅是一个文本节点,这会变得有点棘手。你可以适应this。
同样,这取决于您所说的“选择的长度”是什么意思。你可以get the selected text as a string 并使用它的长度属性。
查看选择开始的答案
查看选择开始的答案
您需要对 API 进行一些研究才能做到这一点,这不是坏事。
【讨论】:
以上是关于jQuery - 获取选择的段落、长度等的主要内容,如果未能解决你的问题,请参考以下文章