在Windows中更改文本选择方法

时间:2018-07-06 13:37:30

标签: javascript text selection pdf.js textselection

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

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

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

enter image description here

代替经典的文本选择:

enter image description here

1 个答案:

答案 0 :(得分:1)

是的,可以使用javascript。

选择的主要部分是Range对象。如果可以定义范围,则可以定义选择。要定义范围,我们需要startContainerstartOffsetendContainerendOffset属性。 接下来是“ Android”选择的想法:当鼠标按下时-记住用户单击的容器和偏移量(根据浏览器的不同,我们可以使用document.caretPositionFromPointdocument.caretRangeFromPoint快速完成操作)。当鼠标移动或向上移动时-记住第二个容器和偏移量。因此,每时每刻都有startend容器和偏移量,因此我们可以创建一个选择:

  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/处实现了这个想法。希望会对您有所帮助!