首页 > 解决方案 > 更改 Windows 中的文本选择方法

问题描述

是否可以在 Windows 中更改文本选择方法?如果是,那么如何?

例如,我在我的网站上使用 Mozilla Pdf.js。( https://mozilla.github.io/pdf.js/web/viewer.html )

是否可以像这样实现“Android”文本选择,以便用户能够修改所选文本:

在此处输入图像描述

而不是经典的文本选择:

在此处输入图像描述

标签: javascripttextselectionpdf.jstextselection

解决方案


是的,可以使用 javascript。

选择的主要部分是Range对象。如果我们可以定义范围,我们就可以定义一个选择。要定义一个范围,我们需要、startContainer和属性。接下来是“Android”选择的想法:当鼠标按下时 - 记住用户点击的容器和偏移量(我们可以使用或取决于浏览器快速完成)。当鼠标移动或向上时 - 记住第二个容器和偏移量。所以每时每刻,我们都有容器和偏移量,所以我们可以创建一个选择:startOffsetendContainerendOffsetdocument.caretPositionFromPointdocument.caretRangeFromPointstartend

  var range = document.createRange();
  range.setStart(start.container, start.offset);
  range.setEnd(end.container, end.offset);
  var selection = document.getSelection();
  selection.addRange(range);

然后,当鼠标再次按下时,我们可以检查用户是在选择的开始还是结束时单击,根据这些信息,我们可以“冻结”开始或结束点并移动另一个。“移动另一个”是指重新创建选择范围。

我在这里实现了这个想法https://jsfiddle.net/uvaf36gh/。希望对您有所帮助!


推荐阅读