从内容可编辑div开始选择

时间:2014-06-13 05:00:47

标签: javascript html google-chrome selection contenteditable

在标记重复之前阅读:

  1. 可信的div将没有子元素
  2. 我不想要跨浏览器解决方案,仅限Chrome支持
  3. 只有 vanilla JS ,没有库。
  4. 我已经查看了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;
    }
    

    请注意w3部分(我要求)是空白的。对我来说似乎没有获得selectionStart的方法,但我认为有人可能已经开发了一个黑客来解决这个问题。

    所以问题是:

      

    如何 获取内容可编辑div中的selection start

    更新

    事实证明,有一个解决方案,但由于我之前的the bug显然已经错过了

0 个答案:

没有答案