是否可以在Windows中更改文本选择方法?如果是,那怎么办?
例如,我在我的网站上使用Mozilla Pdf.js。(https://mozilla.github.io/pdf.js/web/viewer.html)
是否可以像这样实现“ Android”文本选择,因此用户将能够修改所选文本:
代替经典的文本选择:
答案 0 :(得分:1)
是的,可以使用javascript。
选择的主要部分是Range对象。如果可以定义范围,则可以定义选择。要定义范围,我们需要startContainer
,startOffset
,endContainer
和endOffset
属性。
接下来是“ Android”选择的想法:当鼠标按下时-记住用户单击的容器和偏移量(根据浏览器的不同,我们可以使用document.caretPositionFromPoint
或document.caretRangeFromPoint
快速完成操作)。当鼠标移动或向上移动时-记住第二个容器和偏移量。因此,每时每刻都有start
和end
容器和偏移量,因此我们可以创建一个选择:
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/处实现了这个想法。希望会对您有所帮助!