在此内容可编辑元素中获取当前行和行索引
Get current line & line index in this contenteditable element?
我有一个这样的元素:
以下是使用选择属性和字符串拆分来计算偏移量的简单方法:
<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>
必提琴:http://jsfiddle.net/9rvg81kw/
如果可编辑元素中有许多元素,则可能需要将nd.textContent
替换为elmWysiwygContainer.textContent
以获取所有文本的行,而不仅仅是"当前"节点。
相关文章:
- 对于关于es6-获取索引如何
- AngularJS ng选项获取索引
- Javascript点击即可获取索引
- 按值获取索引
- 在Chrome上获取z索引值时存在差异
- 循环对象以获取索引值
- 快速从 2D 数组获取索引,无需迭代 jquery
- 无法从循环数据属性的内容中获取索引的值
- 在 JavaScript 数组中按值获取索引
- 获取索引处字符的 ANSI 颜色
- 我知道如何获取 z 索引,但是有没有办法在页面上获取绝对 Z(数字,而不是 AUTO)
- 使用自定义Knockout映射时获取索引值
- 如何在不计算隐藏元素的情况下获取索引
- 正在从对象获取索引
- 如何从父元素获取索引值
- 从多维数组中获取索引
- 如何检测当前输入文本'使用jquery从输入文本数组中获取s索引
- 如何获取索引元素
- 在javascript的多维数组中获取索引
- 在javascript foreach循环中获取索引