UNPKG

wangeditor

Version:

wangEditor - 轻量级 web 富文本编辑器,配置方便,使用简单,开源免费

49 lines (42 loc) 1.46 kB
/** * @description 初始化编辑器选区,将光标定位到文档末尾 * @author wangfupeng */ import Editor from '../index' import $ from '../../utils/dom-core' import { EMPTY_P } from '../../utils/const' /** * 初始化编辑器选区,将光标定位到文档末尾 * @param editor 编辑器实例 * @param newLine 是否新增一行 */ function initSelection(editor: Editor, newLine?: boolean) { const $textElem = editor.$textElem const $children = $textElem.children() if (!$children || !$children.length) { // 如果编辑器区域无内容,添加一个空行,重新设置选区 $textElem.append($(EMPTY_P)) initSelection(editor) return } const $last = $children.last() if (newLine) { // 新增一个空行 const html = $last.html().toLowerCase() const nodeName = $last.getNodeName() if ((html !== '<br>' && html !== '<br/>') || nodeName !== 'P') { // 最后一个元素不是 空标签,添加一个空行,重新设置选区 $textElem.append($(EMPTY_P)) initSelection(editor) return } } editor.selection.createRangeByElem($last, false, true) if (editor.config.focus) { editor.selection.restoreSelection() } else { // 防止focus=false受其他因素影响 editor.selection.clearWindowSelectionRange() } } export default initSelection