我可以用Window.selection:
识别当前聚焦的文本框var selection = window.getSelection();
我可以用Selection.focusOffset:
来识别插入符号的位置var focus = selection.focusOffset;
假设focus
当前是8,那么插入符号是。
我如何移动插入符号的位置,所以它是例如5字符在?
示例方法:
selection.setFocusOffset(5); // this method does not exist, so I need something similar
select .extend()和selection .modify()方法能够在一定程度上移动插入符号,但是在我操作和替换选择中的内容的用例中,我需要一种更简单的方法来确定我想要放置插入符号的字符数量。顺便说一句:我的文本框是一个wysihtml文本区域,这意味着它在技术上不是一个文本区域div。
如果我理解正确,您想要更改focus
的开始偏移量,但Selection.extend()仅用于更改结束偏移量。由于Selection.modify()不在任何标准轨道上,因此不会有"简单的方法"。
您将需要使用select . getrangeat(),它返回一个范围对象。使用范围对象API来设置返回范围的开始偏移量,然后使用selection. addrange()来创建新的选择。您可能需要/需要removeRange()来清除之前的选择。我不知道浏览器会如何处理重叠的选择