Estoy tratando de registrar un evento cuando se hace clic en un enlace <a> antes de navegar al destino final, esto es lo que tengo hasta ahora:
<a href="/account" data-event-type="select_account">My account</a> document.querySelectorAll('a[data-event-type]').forEach(link => link.addEventListener('click', function onLoggableActionClicked(ev) { ev.preventDefault(); amplitude.getInstance().logEvent(link.getAttribute('data-event-type')); window.location.href = link.href; }) )El evento se dispara perfectamente pero no se registra, ¿tal vez porque la solicitud finaliza cuando se redirige el navegador?
Intenté usar una devolución de llamada, pero esperarla hace que la navegación sea imposible:
function onLoggableActionClicked(ev) { ev.preventDefault(); amplitude.getInstance().logEvent(link.getAttribute('data-event-type'), null, function() { window.location.href = link.href }); })¿Cómo puedo registrar eventos para enlaces salientes?