From 6880baa6a475ed7b0a0110e8dc1d0e248eb3fb0f Mon Sep 17 00:00:00 2001 From: kuaifan Date: Sat, 11 May 2024 12:34:27 +0900 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96Android=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E5=8F=91=E9=80=81=E6=8C=89=E9=92=AE=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/assets/js/directives/touchmouse.js | 5 +++++ .../js/pages/manage/components/ChatInput/index.vue | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/resources/assets/js/directives/touchmouse.js b/resources/assets/js/directives/touchmouse.js index fd8a9b692..2d9ed5a4d 100755 --- a/resources/assets/js/directives/touchmouse.js +++ b/resources/assets/js/directives/touchmouse.js @@ -18,6 +18,9 @@ export default { isTouch = false; binding.value("up"); } + }, + click: e => { + binding.value("click", e); } }; if (isSupportTouch) { @@ -29,6 +32,7 @@ export default { document.addEventListener('mousemove', el.__touchEvent__.move); document.addEventListener('mouseup', el.__touchEvent__.end); } + el.addEventListener('click', el.__touchEvent__.click); }, update () { @@ -43,6 +47,7 @@ export default { document.removeEventListener('mousemove', el.__touchEvent__.move); document.removeEventListener('mouseup', el.__touchEvent__.end); } + el.removeEventListener('click', el.__touchEvent__.click); delete el.__touchEvent__; } }; diff --git a/resources/assets/js/pages/manage/components/ChatInput/index.vue b/resources/assets/js/pages/manage/components/ChatInput/index.vue index a24118b26..c8d9dc1c4 100755 --- a/resources/assets/js/pages/manage/components/ChatInput/index.vue +++ b/resources/assets/js/pages/manage/components/ChatInput/index.vue @@ -320,6 +320,7 @@ export default { recordDuration: 0, touchStart: {}, + touchFocus: false, touchLimitX: false, touchLimitY: false, @@ -1019,6 +1020,7 @@ export default { } switch (action) { case 'down': + this.touchFocus = this.quill?.hasFocus(); this.touchLimitX = false; this.touchLimitY = false; this.touchStart = event.type === "touchstart" ? event.touches[0] : event; @@ -1048,6 +1050,13 @@ export default { } this.onSend() break; + + case 'click': + if (this.touchFocus) { + this.quill.blur(); + this.quill.focus(); + } + break; } },