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);相关内容
- editor.getSelectedControl()——只返回选中的控件,或 null。
- editor.getSelectedText()——选区的纯文本。
- editor.getSelection()——底层的选区对象。