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

How to get X Y position of scroll/mouse/cursor of CKEDITOR Text area

本文关键字:滚动 鼠标 位置 光标 区域 何获取 获取 文本 CKEDITOR      更新时间:2023-09-26

我正在使用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 位置。

试试这个

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();
    }
 }