gpt4 book ai didi

javascript - 获取此 contenteditable 元素中的当前行和行索引?

转载 作者:搜寻专家 更新时间:2023-10-31 08:17:29 25 4
gpt4 key购买 nike

我有这样一个元素:

<span contenteditable="">line 1line 2line 3line 4line 5</span>

假设用户正在编辑“第 4 行”。如何在该内容可编辑元素中获取当前行和行索引(在插入符号位置)?

最佳答案

这是使用选择属性和字符串拆分来计算偏移量的简单方法:

<pre contenteditable="">line 1
line 2
line 3
line 4
line 5
</pre>

<button onclick=getPos()>show pos</button>

<script>
function getPos() {
var sel = document.getSelection(),
nd = sel.anchorNode,
text = nd.textContent.slice(0, sel.focusOffset);

var line=text.split("\n").length;
var col=text.split("\n").pop().length;
alert("row:"+line+", col:"+col )
}
</script>

强制 fiddle :http://jsfiddle.net/9rvg81kw/

如果您的可编辑元素中有很多元素,您可能需要将 nd.textContent 替换为 elmWysiwygContainer.textContent 以获取所有文本的行,而不仅仅是“当前”节点。

关于javascript - 获取此 contenteditable 元素中的当前行和行索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29067475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com