【问题标题】:jQuery - get selection's paragraph, length, etcjQuery - 获取选择的段落、长度等
【发布时间】:2011-10-23 20:32:09
【问题描述】:

我正在尝试完成一些我认为在 jQuery 中应该很简单的事情。

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

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

先谢谢了;)

【问题讨论】:

  • 你试过什么..?

标签: jquery selection highlight textselection


【解决方案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 上已经回答了所有这些问题。反过来:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-15
        • 1970-01-01
        • 1970-01-01
        • 2014-01-20
        • 2015-10-18
        • 2010-09-27
        • 2018-11-27
        • 2018-03-28
        相关资源
        最近更新 更多