← 全部文档

editor.getSelectionElement()

返回包含当前选区的元素。根据选中的内容,它可能是选中的控件、光标所在的表格单元格,或者包含高亮范围的元素。可以用它回答“用户现在在哪里?”——例如只在单元格内启用表格控件。

语法

editor.getSelectionElement()

参数

无。

返回值

外层元素;当选区没有有意义的单一容器时(例如没有锚点的空选区),返回 null。

行为说明

  • 选中的控件优先。如果选中了控件(例如图片),会直接返回它——与从 getSelectedControl() 得到的元素相同。
  • 表格单元格中的光标返回该单元格。当选区折叠在 TD 或 TH 内时,返回该单元格——便于启用与单元格相关的操作。
  • 范围返回其外层元素。对于高亮的范围,getSelectionElement() 会向上查找同时包含选区两端的元素。

用法示例

判断光标是否位于表格单元格内:

var editor1 = new RichTextEditor("#div_editor1");
var el = editor1.getSelectionElement();
var inCell = el && (el.closest("td") || el.closest("th"));

读取当前选区处最近的链接:

var el = editor1.getSelectionElement();
var link = el ? el.closest("a[href]") : null;
if (link) console.log("Editing link:", link.href);

相关内容