如何获取CKEDITOR文本区域的滚动/鼠标/光标的X Y位置

时间:2013-01-28 11:56:54

标签: javascript jquery asp.net dom ckeditor

我正在使用CKEDITOR 4。如何找出 滚动/鼠标/光标X Y位置 不是窗口)?

我已经测试了下面的代码,但它给出了窗口的滚动位置:

var win = new CKEDITOR.dom.window( window );
var pos = win.getScrollPosition();
alert( "pos.x :: " + pos.x + " pos.y :: " + pos.y );

我需要CKEDITOR文本区域的X Y位置。

1 个答案:

答案 0 :(得分:0)

试试这个

var selectedRange = selected.getRanges()[0];
var node = selectedRange.startContainer;
var value = node.getText();
var position = selectedRange.endOffset;

或查看this reference

这是代码,以防链接中断!

 function doGetCaretPosition (ctrl) {
    var CaretPos = 0;   // IE Support
     if (document.selection) {
         ctrl.focus ();
         var Sel = document.selection.createRange ();
         Sel.moveStart ('character', -ctrl.value.length);
         CaretPos = Sel.text.length;
      }
   // Firefox support
   else if (ctrl.selectionStart || ctrl.selectionStart == '0')
        CaretPos = ctrl.selectionStart;
          return (CaretPos);
       }
  function setCaretPosition(ctrl, pos){
      if(ctrl.setSelectionRange)
    {
      ctrl.focus();
      ctrl.setSelectionRange(pos,pos);
    }
    else if (ctrl.createTextRange) {
    var range = ctrl.createTextRange();
    range.collapse(true);
    range.moveEnd('character', pos);
    range.moveStart('character', pos);
    range.select();
    }
 }