diff --git a/packages/vant/src/floating-bubble/FloatingBubble.tsx b/packages/vant/src/floating-bubble/FloatingBubble.tsx index d6c19f4a1..01b03d871 100644 --- a/packages/vant/src/floating-bubble/FloatingBubble.tsx +++ b/packages/vant/src/floating-bubble/FloatingBubble.tsx @@ -189,6 +189,7 @@ export default defineComponent({ const onClick = (e: MouseEvent) => { if (touch.isTap.value) emit('click', e); + else e.stopPropagation(); }; onMounted(() => { @@ -223,7 +224,7 @@ export default defineComponent({ onTouchstartPassive={onTouchStart} onTouchend={onTouchEnd} onTouchcancel={onTouchEnd} - onClick={onClick} + onClickCapture={onClick} style={rootStyle.value} v-show={show.value} {...attrs} diff --git a/packages/vant/src/vue-tsx-shim.d.ts b/packages/vant/src/vue-tsx-shim.d.ts index 0587e7ada..1811c4267 100644 --- a/packages/vant/src/vue-tsx-shim.d.ts +++ b/packages/vant/src/vue-tsx-shim.d.ts @@ -19,5 +19,6 @@ declare module 'vue' { interface HTMLAttributes { onTouchmovePassive?: EventHandler; onTouchstartPassive?: EventHandler; + onClickCapture?: EventHandler; } }