900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > html页面光标坐标值 javascript-在包含HTML内容的contentEditable区域中获取插入符(

html页面光标坐标值 javascript-在包含HTML内容的contentEditable区域中获取插入符(

时间:2023-10-21 09:37:33

相关推荐

html页面光标坐标值 javascript-在包含HTML内容的contentEditable区域中获取插入符(

UPDATE

我已经编写了一个更简单的版本,该版本也可以在IE <9中使用:

[/a/481/96100]

旧答案

这实际上是比整个文档文本中的字符偏移量更有用的结果:DOM Range的startOffset属性(即window.getSelection().getRangeAt()返回的值)相对于其startContainer属性(不一定总是文本)具有偏移量 节点)。 但是,如果您确实想要字符偏移量,可以使用以下函数来实现。

这是一个实时示例:[/timdown/2YcaX/]

功能如下:

function getCharacterOffsetWithin(range, node) {

var treeWalker = document.createTreeWalker(

node,

NodeFilter.SHOW_TEXT,

function(node) {

var nodeRange = document.createRange();

nodeRange.selectNode(node);

return pareBoundaryPoints(Range.END_TO_END, range) < 1 ?

NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;

},

false

);

var charCount = 0;

while (treeWalker.nextNode()) {

charCount += treeWalker.currentNode.length;

}

if (range.startContainer.nodeType == 3) {

charCount += range.startOffset;

}

return charCount;

}

html页面光标坐标值 javascript-在包含HTML内容的contentEditable区域中获取插入符(光标)的位置...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。