From 74096b2b1e5ea372b1389b35afaa025a929a5201 Mon Sep 17 00:00:00 2001
From: zhenyuWang <13641039885@163.com>
Date: Tue, 28 Jun 2022 22:16:48 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=20touch=20mouse=20?=
=?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=90=8C=E6=97=B6=E7=BB=91=E5=AE=9A=E5=8F=8A?=
=?UTF-8?q?navigator=20a=20=E6=A0=87=E7=AD=BE=E9=98=BB=E6=AD=A2=E9=BB=98?=
=?UTF-8?q?=E8=AE=A4=E4=BA=8B=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/uni-components/src/helpers/useHover.ts | 15 +++++++++++----
.../uni-components/src/vue/navigator/index.tsx | 7 ++++++-
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/packages/uni-components/src/helpers/useHover.ts b/packages/uni-components/src/helpers/useHover.ts
index e53026485..f4adf00e9 100644
--- a/packages/uni-components/src/helpers/useHover.ts
+++ b/packages/uni-components/src/helpers/useHover.ts
@@ -45,16 +45,19 @@ export function useHover(props: UseHoverOptions) {
if (evt.touches.length > 1) {
return
}
- handleHover(evt)
+ handleHoverStart(evt)
}
function onMousedown(evt: MouseEvent) {
- evt.preventDefault()
- handleHover(evt)
+ if (hoverTouch) {
+ return
+ }
+
+ handleHoverStart(evt)
window.addEventListener('mouseup', handlePCHoverEnd)
}
- function handleHover(evt: TouchEvent | MouseEvent) {
+ function handleHoverStart(evt: TouchEvent | MouseEvent) {
// TODO detect scrolling
if ((evt as any)._hoverPropagationStopped) {
return
@@ -80,6 +83,10 @@ export function useHover(props: UseHoverOptions) {
}
function onMouseup() {
+ if (!hoverTouch) {
+ return
+ }
+
handlePCHoverEnd()
}
diff --git a/packages/uni-components/src/vue/navigator/index.tsx b/packages/uni-components/src/vue/navigator/index.tsx
index 4342376e6..148684f44 100644
--- a/packages/uni-components/src/vue/navigator/index.tsx
+++ b/packages/uni-components/src/vue/navigator/index.tsx
@@ -27,7 +27,12 @@ export default /*#__PURE__*/ defineBuiltInComponent({
const hasHoverClass = props.hoverClass && props.hoverClass !== 'none'
return (
-
+