【发布时间】:2014-07-29 17:34:54
【问题描述】:
在标记重复/否决之前查看
- contenteditable div 将没有子元素
- 我不想将位置设置在 div 的末尾
- 我不想要跨浏览器解决方案,只需要 Chrome 支持
- 只有 vanilla JS,没有库。
我见过很多很多解决方案。许多由 Tim Down 和其他人撰写。但没有一个有效。我见过window.getSelection、.addRange 等,但看不到它们在这里是如何应用的。
这是jsfiddle。
(已尝试)代码:
var node = document.querySelector("div");
node.focus();
var caret = 10; // insert caret after the 10th character say
var range = document.createRange();
range.setStart(node, caret);
range.setEnd(node, caret);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
【问题讨论】:
-
抱歉,您为什么需要以下行:在标记重复/否决投票之前查看?
-
@HappyCoding Stackoverflow 上已经有很多关于在 contenteditable div 中设置光标位置的问题,但是,我的问题不同。因此,我写这行是为了警告仓促的否决者。
标签: javascript html google-chrome selection caret