javascript - 通过 javascript 获取 contenteditable div 上的插入符号坐标。

标签 javascript html contenteditable caret

我一直在搜索,但我找不到一种方法来获取内容可编辑 div 上插入符号的 (X,Y) 坐标,网络上有很多关于此的内容,但没有问题我找到的页面中有根据 div 的顶部获取坐标,所以我的问题更简单的方法是:

如何获取内容可编辑的 div 上插入符号的 (X,Y) 坐标,但 Y 坐标必须根据 div 的顶部计算,而不是从可见部分的顶部计算页面?

注意1:我特别需要Y坐标。

注意2:我只能使用纯javascript,不能使用JQUERY。

我的方式:

我还没有找到直接的方法来做到这一点,所以作为一种解决方法,我考虑根据页面的可见部分和 Div 的隐藏部分获取 Y 坐标并对结果求和(我目前正在研究这个,但我没有运气!)。

最佳答案

  1. 获取选择和范围

     var sel = window.getSelection();
     var range = sel.getRangeAt(0);
    
  2. 插入折叠的 div

     var div = document.createElement(...)
     range.insertNode(div)
    
  3. 获取div坐标

  4. 删除div

关于javascript - 通过 javascript 获取 contenteditable div 上的插入符号坐标。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17016698/

相关文章:

javascript - 使用 jQuery 返回 DIV 内容

javascript - 使用execCommand插入后如何获取图像元素?

html - 什么 CSS 选择器根据属性值查找元素,而不考虑属性名称?

javascript - CSS 变换比例无法正常工作

javascript - 如何使 JavaScript 中的元素恢复为不可编辑状态?

javascript - 在可编辑元素中制作一个不可编辑的 block

javascript - 从 iframe 中的变量打开链接

javascript - IIFE,javascript,函数未定义

javascript - ie9及以下版本使用History.js页面刷新返回首页

javascript - 如何使用javascript直接从网页录制