Hay un error de Chrome en el que el click no se activa después de un touchend : https://bugs.chromium.org/p/chromium/issues/detail?id=1141207#c10
Quiero simular un clic usando dispatchEvent :
let timer: number | null = null; window.addEventListener('touchend', event => { if (timer) { clearTimeout(timer); } timer = window.setTimeout(() => { event.target?.dispatchEvent(new Event('click', { bubbles: true, cancelable: true, })); }, 0); }); window.addEventListener('click', () => { if (timer) { clearTimeout(timer); } }); Supongo que será imposible que se ejecute la devolución de llamada de tiempo de espera antes de que se ejecute el controlador de clics (si se produce el evento de clic). Con esta suposición, puedo hacer que el tiempo de espera se retrase en 0. Si esta suposición es falsa, entonces necesitaría una demora mayor, tal vez 1 o 2 fotogramas. ¿Se garantiza que el click se active justo después de touchend , antes de que se ejecute el controlador de eventos de touchend ?
Hay