Manejadores de eventos js múltiples en un solo elemento.

Estoy trabajando con una aplicación web existente, en la aplicación hay una variedad de botones de envío en diferentes formas, algunos usando la publicación http regular, algunos definiendo una función onClick y algunos vinculando un controlador de eventos js al botón usando una clase en el elemento.

Lo que quiero hacer es vincular otro controlador de eventos a estos botones simplemente agregando una clase a los botones, pero lo que quiero determinar es si se garantizará que se ejecutará el nuevo controlador de eventos, o podría ocurrir una de las acciones de envío de formularios. antes de que lo haga significa que mi nueva función no es golpeada.

El escenario de ejemplo es que quiero agregar una clase a estos botones que los convierte a todos en una función js común que simplemente registra el uso en algunas API. ¿Existe el riesgo de que no se llame a la función de registro porque el formulario enviado se ha alejado de la página?

No he hecho un montón de desarrollo de js, y pude probar esto 100 veces y tener suerte con el disparo.

A continuación se incluye un código con el que he probado para uno de los ejemplos: una vez más, no estoy preguntando cómo vincular varios eventos, la pregunta es sobre mi comprensión de la especificación y si está garantizada la ejecución de todos los manejadores.

$(document).ready(function(){
    $('.testingBtn').click(function() {
        window.location.replace("http://stackoverflow.com");
    });
    $( ".testingBtn" ).click(function(){
        alert('submitting!');
    });
});


<input class="testingBtn" type="submit" id="submitform" value="Complete Signup" />

Como se vio anteriormente, puedo vincular los múltiples eventos, y en este ejemplo, simplemente dirigidos a otra URL, pero esto podría ser unform.submit() En mis pruebas, la alerta siempre se disparó primero, pero ¿estoy teniendo suerte con las condiciones de la carrera?

Respuestas a la pregunta(3)

Su respuesta a la pregunta