diff --git a/core/core-frontend/src/custom-component/rich-text/DeRichTextView.vue b/core/core-frontend/src/custom-component/rich-text/DeRichTextView.vue index 8d39d7496d..b3928e573d 100644 --- a/core/core-frontend/src/custom-component/rich-text/DeRichTextView.vue +++ b/core/core-frontend/src/custom-component/rich-text/DeRichTextView.vue @@ -293,9 +293,29 @@ const reShow = () => { editShow.value = false nextTick(() => { editShow.value = true + editCursor() }) } +const editCursor = () => { + setTimeout(() => { + const myDiv = document.getElementById(tinymceId) + // 让光标聚焦到文本末尾 + const range = document.createRange() + const sel = window.getSelection() + if (myDiv.childNodes) { + range.setStart(myDiv.childNodes[myDiv.childNodes.length - 1], 1) + range.collapse(false) + sel.removeAllRanges() + sel.addRange(range) + } + // 对于一些浏览器,可能需要设置光标到最后的另一种方式 + if (myDiv.focus) { + myDiv.focus() + } + }, 100) +} + const calcData = (view: Chart, callback) => { isError.value = false if (view.tableId || view['dataFrom'] === 'template') {