可信赖的div插入位置

时间:2013-01-28 15:40:46

标签: javascript html5 range contenteditable caret

  

可能重复:   Get caret position in contentEditable div

我有一个contenteditable div,我正在尝试使用以下代码在非IE浏览器中获取该div中的插入位置:

  var caretPosition = 0, containerEl = null, sel, range;
  if (window.getSelection) 
  {
    sel = window.getSelection();
    if (sel.rangeCount) {
        range = sel.getRangeAt(0);
        if (range.commonAncestorContainer.parentNode == editableDiv) {
            caretPosition = range.endOffset;
         }
      }
   }

它在单行上正确返回文本的插入位置,但是我有多行文本,似乎对于每个新行,每行的插入符号位置都以0开头。我的问题是我需要插入位置包括在前一行中找到的字符数,例如,第二行

caretPosition =第一行的字符数+第二行的插入符号前面的字符数。

它仅返回第二行插入符号前面的字符数。 我怎样才能实现这种行为?或者我怎样才能有另一个范围包括上面一行中的文字?

非常感谢任何建议,谢谢!

0 个答案:

没有答案