在内容可编辑的 div 中获取选择开始

Gau*_*don 5 html javascript google-chrome selection contenteditable

标记重复前阅读:

  1. contenteditable div不会有子元素
  2. 我不想要跨浏览器的解决方案,只需要Chrome 支持
  3. 只有vanilla JS,没有库。

我已经查找了 Stackoverflow 上的几乎所有帖子(如果这篇文章是重复的,我会感到非常惊讶),并找到了这个小提琴:http : //jsfiddle.net/cpatik/3QAeC/

它的getSelectionBegin代码是:

function getSelectionBegin(element) {
    var caretOffset = 0;
    if (w3) {
    }
    else if (ie) {
        var textRange = document.selection.createRange();
        var preCaretTextRange = document.body.createTextRange();
        preCaretTextRange.moveToElementText(element);
        preCaretTextRange.setEndPoint("EndToStart", textRange);
        caretOffset = preCaretTextRange.text.length;
    }
    return caretOffset;
}
Run Code Online (Sandbox Code Playgroud)

请注意w3(我需要的)部分是空白的。在我看来,没有获得 selectionStart 的方法,但我认为有人可能已经开发出一种方法来解决这个问题。

所以问题是:

我如何获得了selection start在内容编辑的DIV?

更新:

事实证明,有一个解决方案,但由于我之前遇到的错误,我显然错过了