From cacfb196a477ef75a048110e25cd3165b96e8862 Mon Sep 17 00:00:00 2001 From: inottn Date: Sun, 28 Dec 2025 17:01:45 +0800 Subject: [PATCH] feat(touch-emulator): support Shadow DOM event handling (#13723) --- packages/vant-touch-emulator/src/index.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/vant-touch-emulator/src/index.js b/packages/vant-touch-emulator/src/index.js index bb5b61a20..a4de8cb46 100644 --- a/packages/vant-touch-emulator/src/index.js +++ b/packages/vant-touch-emulator/src/index.js @@ -146,7 +146,7 @@ !eventTarget || (eventTarget && !eventTarget.dispatchEvent) ) { - eventTarget = ev.target; + eventTarget = ev.composed ? ev.composedPath()[0] : ev.target; } if (eventTarget.closest('[data-no-touch-simulate]') == null) { @@ -166,8 +166,11 @@ * @param mouseEv */ function triggerTouch(eventName, mouseEv) { - var touchEvent = document.createEvent('Event'); - touchEvent.initEvent(eventName, true, true); + var touchEvent = new Event(eventName, { + bubbles: true, + cancelable: true, + composed: true, + }); touchEvent.altKey = mouseEv.altKey; touchEvent.ctrlKey = mouseEv.ctrlKey;