这是 实验性技术
检查 浏览器兼容性表格 要小心谨慎在生产中使用这之前。

caretPositionFromPoint() 特性为 DocumentOrShadowRoot interface returns a CaretPosition object, containing the DOM node, along with the caret and caret's character offset within that node.

句法

var caretPosition = document.caretPositionFromPoint(float x, float y);
					

参数

x

The horizontal coordinate of a point.

y

The vertical coordinate of a point.

返回

A CaretPosition 对象。

范例

This example inserts line breaks wherever you click. The code for it is below the demo.

Demo

HTML 内容

<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
					

JavaScript Content

function insertBreakAtPoint(e) {
  var range;
  var textNode;
  var offset;
  if (document.caretPositionFromPoint) {
    range = document.caretPositionFromPoint(e.clientX, e.clientY);
    textNode = range.offsetNode;
    offset = range.offset;
  } else if (document.caretRangeFromPoint) {
    range = document.caretRangeFromPoint(e.clientX, e.clientY);
    textNode = range.startContainer;
    offset = range.startOffset;
  }
  // only split TEXT_NODEs
  if (textNode.nodeType == 3) {
    var replacement = textNode.splitText(offset);
    var br = document.createElement('br');
    textNode.parentNode.insertBefore(br, replacement);
  }
}
window.onload = function (){
  var paragraphs = document.getElementsByTagName("p");
  for (i=0 ; i < paragraphs.length; i++) {
    paragraphs[i].addEventListener("click", insertBreakAtPoint, false);
  }
};
					

规范

规范 状态 注释
CSSOM (CSS 对象模型) 视图模块
The definition of 'caretPositionFromPoint()' in that specification.
工作草案 初始定义。

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
桌面 移动
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
caretPositionFromPoint Chrome No Edge No Firefox 20 IE No Opera No Safari Yes WebView Android No Chrome Android No Firefox Android 20 Opera Android No Safari iOS Yes Samsung Internet Android No

图例

完整支持

完整支持

不支持

不支持

实验。期望将来行为有所改变。

实验。期望将来行为有所改变。

元数据

  • 最后修改: