From 1e0c6a4c649fe7d179e84471484e9a187d160281 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 30 Oct 2024 10:22:14 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/11388 --- app/src/protyle/wysiwyg/index.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/protyle/wysiwyg/index.ts b/app/src/protyle/wysiwyg/index.ts index 4409f7e8a..7554bc9db 100644 --- a/app/src/protyle/wysiwyg/index.ts +++ b/app/src/protyle/wysiwyg/index.ts @@ -785,10 +785,16 @@ export class WYSIWYG { }); const needScroll = ["IMG", "VIDEO", "AUDIO"].includes(target.tagName) || target.classList.contains("img"); documentSelf.onmousemove = (moveEvent: MouseEvent) => { - const moveTarget = moveEvent.target as HTMLElement; + let moveTarget: boolean | HTMLElement = moveEvent.target as HTMLElement; // table cell select if (!protyle.disabled && tableBlockElement && tableBlockElement.contains(moveTarget) && !hasClosestByClassName(tableBlockElement, "protyle-wysiwyg__embed")) { - if ((moveTarget.tagName === "TH" || moveTarget.tagName === "TD") && !moveTarget.isSameNode(target) && (!moveCellElement || !moveCellElement.isSameNode(moveTarget))) { + if (moveTarget.classList.contains("table__select")) { + moveTarget.classList.add("fn__none") + const pointElement = document.elementFromPoint(moveEvent.clientX, moveEvent.clientY) + moveTarget.classList.remove("fn__none") + moveTarget = hasClosestByMatchTag(pointElement, "TH") || hasClosestByMatchTag(pointElement, "TD"); + } + if (moveTarget && (moveTarget.tagName === "TH" || moveTarget.tagName === "TD") && (!moveCellElement || !moveCellElement.isSameNode(moveTarget))) { // @ts-ignore tableBlockElement.firstElementChild.style.webkitUserModify = "read-only"; let width = target.offsetLeft + target.clientWidth - moveTarget.offsetLeft;