0

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

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

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

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

4

1 回答 1

0

尝试这个

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

或查看此参考

这是代码以防万一链接断开!

 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();
    }
 }
于 2013-01-28T12:04:09.037 回答