From 286bbee02e00140900d71b5e53805003199baec4 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 4 Feb 2026 11:15:59 +0800 Subject: [PATCH] :art: Improve soft keyboard toolbar pop-up https://github.com/siyuan-note/siyuan/issues/16548 Signed-off-by: Daniel <845765@qq.com> --- app/src/mobile/util/keyboardToolbar.ts | 1 + app/src/mobile/util/touch.ts | 14 +------------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/app/src/mobile/util/keyboardToolbar.ts b/app/src/mobile/util/keyboardToolbar.ts index 696ade80c..c9f6cc4e9 100644 --- a/app/src/mobile/util/keyboardToolbar.ts +++ b/app/src/mobile/util/keyboardToolbar.ts @@ -683,6 +683,7 @@ export const initKeyboardToolbar = () => { hideKeyboardToolbarUtil(); focusByRange(range); } else { + document.activeElement.blur(); buttonElement.classList.add("protyle-toolbar__item--current"); toolbarElement.querySelector('.keyboard__action[data-type="done"] use').setAttribute("xlink:href", "#iconCloseRound"); const oldScrollTop = protyle.contentElement.scrollTop; diff --git a/app/src/mobile/util/touch.ts b/app/src/mobile/util/touch.ts index c9b74c104..8a9ebbb7c 100644 --- a/app/src/mobile/util/touch.ts +++ b/app/src/mobile/util/touch.ts @@ -5,7 +5,6 @@ import {activeBlur} from "./keyboardToolbar"; import {isIPhone} from "../../protyle/util/compatibility"; import {App} from "../../index"; import {globalTouchEnd, globalTouchStart} from "../../boot/globalEvent/touch"; -import {Constants} from "../../constants"; let clientX: number; let clientY: number; @@ -38,18 +37,7 @@ export const handleTouchEnd = (event: TouchEvent, app: App) => { editElement = hasClosestByAttribute(target, "contenteditable", "true") as HTMLElement; } if (editElement) { - if (editElement.getAttribute("virtualkeyboardpolicy") !== "manual") { - editElement.setAttribute("virtualkeyboardpolicy", "manual"); - setTimeout(() => { - editElement.focus(); - window.JSAndroid?.showKeyboard(); - }, Constants.TIMEOUT_TRANSITION); - } else { - editElement.focus(); - window.JSAndroid?.showKeyboard(); - } - } else { - window.JSAndroid?.hideKeyboard(); + window.JSAndroid?.showKeyboard(); } }