繁体   English   中英

jQuery - 获取选择的段落、长度等

[英]jQuery - get selection's paragraph, length, etc

我正在尝试完成一些我认为在 jQuery 中应该很容易做到的事情。

我的网站上有很长的文字。 每当用户选择(突出显示)文本时,我需要获取以下信息:

  • 选择开始的段落
  • 该段落中选择开始的字符
  • 选择的长度
  • 选择结束的段落(如果突出显示超出一个段落)
  • 该段落中选择结束的字符

先谢谢了;)

您需要将 JavaScript 用于处理文本选择的任何内容。 jQuery 没有内置 function 用于检测选择的开始位置或结束位置。 Rangy http://code.google.com/p/rangy/可能是您可以用于此目的的东西。

我想我之前在 Stack Overflow 上已经回答了所有这些问题。 反过来:

  • 来自这里getAncestor()和来自这里getSelectionBoundaryContainerElement()的组合将完成这项工作
  • 这取决于您所说的“选择开始于该段落中的字符”是什么意思。 如果段落内部可能有其他元素而不仅仅是一个文本节点,这会变得有点棘手。 你可以适应这个
  • 同样,这取决于您所说的“选择的长度”是什么意思。 您可以将所选文本作为字符串获取并使用其长度属性。
  • 查看选择开始的答案
  • 查看选择开始的答案

您需要对 API 进行一些研究才能做到这一点,这并不是一件坏事。

玩弄

window.getSelection
document.getSelection
document.selection.createRange()

请参阅此站点上的示例: http://www.codetoad.com/javascript_get_selected_text.asp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM